var fb_ps_page = window.location.href;
document.write('<iframe src="//www.facebook.com/plugins/like.php?href=' + fb_ps_page + '&send=false&layout=button_count&width=450&show_faces=false&action=like&colorscheme=light&font&height=21&appId=205223179497882" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:21px;" allowTransparency="true"></iframe>');
我的功能是将动态网址写入facebook,如按钮。
但是,我的网址包含/
,#
,+
和&
- 我是否需要逃避这些,我会使用正则表达式吗?
答案 0 :(得分:1)
您正在插入URL上下文,因此请先使用正确的URL编码:
document.write('<iframe src="//www.facebook.com/plugins/like.php?href=' + encodeURIComponent(fb_ps_page) + '&send=false&layout=button_count&width=450&show_faces=false&action=like&colorscheme=light&font&height=21&appId=205223179497882" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:21px;" allowTransparency="true"></iframe>');
由于encodeURIComponent
已对HTML特殊字符"
,&
和<
(/
,#
和{{}进行编码1}}},你不需要再为HTML上下文编码了它。