javascript - document.location.href 的 URL 编码

标签 javascript facebook iframe

我正在构建一个 iFrame 并使用 document.location.href -> 我的确切代码是:

<script type="text/javascript">
document.write("<iframe src='http://www.facebook.com/plugins/like.php?href=" + document.location.href + "&layout=standard&show_faces=false&action=like&font=verdana&colorscheme=light' frameborder=0></iframe>");
</script>

除一个页面外,这对我的所有页面都非常有效。我认为一页的问题是由页面名称中的破折号“-”引起的。我的问题是 - 有没有办法对我的 src 进行不同的编码,以便链接有效?我希望它提取的正确 URL 是:

[]/products/Product%252dExample.html

但它的作用是:

[]/products/Product-Example.html

这导致页面无法正常工作。

谢谢!

最佳答案

encodeURIComponent功能将做你想做的事。

<script type="text/javascript">
document.write("<iframe src='http://www.facebook.com/plugins/like.php?href=" + encodeURIComponent( document.location.href ) + "&layout=standard&show_faces=false&action=like&font=verdana&colorscheme=light' frameborder=0></iframe>");
</script>

关于javascript - document.location.href 的 URL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767085/

相关文章:

javascript - 双向模型引用策略

javascript - 单击指令时图像中的 Angular 淡入淡出

php - 我需要哪个选项来使用 HHVM 编译 php 代码

jquery - 颜色框显示另一个页面的特定元素

javascript - Algolia + Woocommerce 类别的分层索引

javascript - 渐变填充内容可编辑的 HTML 文本

php - 如何获取点击“赞”按钮的用户的 Facebook ID?

Facebook 点赞按钮的评论弹出窗口显示一半。

html - 使用 iFrame 加载本地 html 文件

javascript - 动态调整 Iframe 大小以与 Chrome 配合使用