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 подводных камня, о которых следует знать здесь:
- Удивительно, но блоки контента социальных сетей Mailchimp не будут кодировать URL-адрес вашей ссылки при создании URL-адреса общего ресурса. Итак, как вы и предложили, вам нужно кодировать его самостоятельно.
- в JavaScript
encodeURIComponent
это не совсем то, что вы хотите здесь, потому что он не избежит восклицательного знака (!
), а также несколько других символов, которые имеют особое значение в URL (см. ссылку на MDN). Замена!
от%21
по твоей ссылке это бы заработало.
К сожалению, я не нашел библиотеку JavaScript, которая надежно выполняет эту кодировку URL ( url нет), вы, вероятно, захотите заменить !
вручную.