URL ресурса Mailchimp Facebook не перенаправляет на правильный URL

Я пытаюсь использовать предоставление переменной для плагина общего доступа Facebook в Mailchimp. Я хочу поделиться этим URL:

https://www.example.com/#!/campaign/5577fc135257be030087f44b/landing

Я использую JavaScript, поэтому я закодировал URL с encodeURIComponent(uri) что позволяет мне использовать Facebook Share:

https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.example.com%2F%23!%2Fcampaign%2F555ee391c95a870300616317%2Flanding

Диалоговое окно Facebook Share правильно отображается. Однако это только акции www.example.com, остальная часть URL была удалена.

Что я сделал не так?

1 ответ

2 подводных камня, о которых следует знать здесь:

  1. Удивительно, но блоки контента социальных сетей Mailchimp не будут кодировать URL-адрес вашей ссылки при создании URL-адреса общего ресурса. Итак, как вы и предложили, вам нужно кодировать его самостоятельно.
  2. в JavaScript encodeURIComponent это не совсем то, что вы хотите здесь, потому что он не избежит восклицательного знака (!), а также несколько других символов, которые имеют особое значение в URL (см. ссылку на MDN). Замена ! от %21 по твоей ссылке это бы заработало.

К сожалению, я не нашел библиотеку JavaScript, которая надежно выполняет эту кодировку URL ( url нет), вы, вероятно, захотите заменить ! вручную.

Другие вопросы по тегам