Mailchimp Facebook共享URL没有重定向到正确的URL
Mailchimp Facebook share URL doesn't redirect to correct URL
我试图使用在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的其余部分已被剥离。
我做错了什么?
这里需要注意的两个陷阱:
- 令人惊讶的是,Mailchimp的社交分享内容块在构建分享URL时不会对你的链接进行URL编码。所以正如你所建议的,你需要自己进行url编码。
- JavaScript的
encodeURIComponent
并不完全是您想要的,因为它不会转义感叹号(!
),以及其他一些在url中具有特殊含义的字符(参见MDN参考)。将链接中的!
替换为%21
将使其工作。
遗憾的是,我还没有找到一个JavaScript库可靠地做这个url编码(url没有),你可能会想要手动替换!
。
相关文章:
- 我的URL重定向安全吗
- 基于屏幕宽度的URL重定向
- HTML5/Javascript验证复选框提交URL重定向
- 基于变量的Javascript URL重定向无法正常工作
- 将使用 history.pushState() 创建的 URL 重定向到基本 URL
- 通过随机 url 重定向传递和添加参数
- 将 URL 重定向到子文件夹
- 如何使用jQuery根据引用/当前URL重定向页面
- Firefox 插件中的 OnBeforeRequest URL 重定向(从 Chrome 扩展程序转换)
- 带有 JavaScript URL 重定向的正则表达式
- 使用 JavaScript 使用 MD5 值进行 URL 重定向
- 当网址路径中有哈希时,Javascript url 重定向
- Angular.js:prettyPhoto URL重定向到Angular路由中提到的默认页面
- 将特定URL重定向到moblile上的另一个URL
- 使用javascript或jquery修改href-或-URL重定向/重写和模式匹配
- 从主页url重定向到url+锚点
- 如何在URL重定向后获得新的URL
- 正在获取另一个URL重定向到的URL
- 循环中的URL重定向
- 如何从一个URL重定向到另一个URL