javascript:popWin取消编码我的网址

时间:2013-03-06 21:48:53

标签: javascript

我正在尝试向我管理的网站添加社交分享按钮。我必须使用新的标签或popWin来执行此操作,因为大多数社交网站都阻止通过iframe加载(这会阻止使用模式弹出窗口)。

我决定使用popWin,因为它会让用户保持在我的页面上。问题是我还是javascript的新手,并且对popWin不太熟悉。 popWin似乎是对我的网址进行解码,这些网址适用于大多数社交分享网站,但是不倒翁有问题。

如果我删除popWin,则URL会打开一个新选项卡并按原样共享产品页面。

我可以强制popWin使用我的网址,“url = http%3A%2F%2F”而不是“url = http://”

<a href="javascript:popWin('http://www.tumblr.com/share/link?url=<?php echo urlencode($productUrl); ?>', 'tumbler', 'width=640,height=480,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes');" title="Share Link Via Tumblr">Tumblr</a>

2 个答案:

答案 0 :(得分:1)

在javascript中使用encodeURIComponent

<a href="javascript:popWin(encodeURIComponent('http://www.tumblr.com/share/link?url=<?php echo urlencode($productUrl); ?>)', 'tumbler', 'width=640,height=480,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes');" title="Share Link Via Tumblr">Tumblr</a>

答案 1 :(得分:0)

在遇到与popWin和tumblr相同的问题后找到了这个。我已经修改了马特的答案来说明我是如何做到的。

<a href="javascript:popWin('http://www.tumblr.com/share/link?' + encodeURIComponent('url=<?php echo urlencode($productUrl); ?>')', 'tumblr', 'width=640,height=480,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes');" 
title="Share Link Via Tumblr">Tumblr</a>