Mailchimp Facebook共享URL没有重定向到正确的URL

Mailchimp Facebook share URL doesn't redirect to correct URL

本文关键字:URL 重定向 Facebook 共享 Mailchimp      更新时间:2023-09-26

我试图使用在Mailchimp中提供一个变量到Facebook共享插件。我想分享这个网址:

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

我使用JavaScript,所以我用encodeURIComponent(uri)编码URL,使我能够使用Facebook共享:

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

Facebook分享对话框正确显示。然而,它只共享www.example.com, url的其余部分已被剥离。

我做错了什么?

这里需要注意的两个陷阱:

  1. 令人惊讶的是,Mailchimp的社交分享内容块在构建分享URL时不会对你的链接进行URL编码。所以正如你所建议的,你需要自己进行url编码。
  2. JavaScript的encodeURIComponent并不完全是您想要的,因为它不会转义感叹号(!),以及其他一些在url中具有特殊含义的字符(参见MDN参考)。将链接中的!替换为%21将使其工作。

遗憾的是,我还没有找到一个JavaScript库可靠地做这个url编码(url没有),你可能会想要手动替换!