2013-03-06 58 views
0

我試圖將社交分享按鈕添加到我管理的網站。我必須使用新標籤或popWin才能做到這一點,因爲大多數社交網站都無法通過iframe加載(阻止使用模態彈出窗口)。javascript:popWin取消了我的URL編碼

我決定使用popWin,因爲它會將用戶保留在我的頁面上。問題是我仍然對JavaScript不熟悉,並且不太熟悉popWin。 popWin似乎對我的URL進行了解碼,這與大多數社交分享網站一起工作,但不倒翁也存在問題。

如果我刪除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> 

回答

1

使用encodeURIComponent在JavaScript。

<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> 
+0

我正在查找encodedURIComponent,看看我是否可以自己弄清楚這一點,但使用此返回的未捕獲的SyntaxError:意外的標記; – 2013-03-06 22:10:15

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>