2010-08-13 111 views
0

我想实现一个polyvore分享按钮到购物车中。当脚本执行时(描述和价格)某些变量值没有被传递,并且我被告知URL编码可能是一个解决方案。任何人都可以分享任何关于如何将它单独应用于我的代码段的线索吗?提前致谢。如何在JavaScript中编码URL?

<a href="http://www.polyvore.com/cgi/add?title=%%GLOBAL_ProductName%%&url=http://lilaboutique.co.uk/products/%%GLOBAL_ProductName%%&imgurl=%%GLOBAL_ThumbImageURL%%&desc=%%GLOBAL_ProductDesc%%&price=%%GLOBAL_ProductPrice%%"> 
<img src="http://cdn.polyvore.com/rsrc/img/favicon.png"></a> 
+2

参见:http://stackoverflow.com/questions/332872/how-to-encode-a-url-in-javascript – 2010-08-13 13:25:36

回答

1

您可以使用encodeURIComponent来编码特定查询字符串值。

var url = "http://www.polyvore.com/cgi/add?title=" 
      + encodeURIComponent('%%GLOBAL_ProductName%%') 
      + "&url=" + encodeURIComponent("http://lilaboutique.co.uk/products/" 
       + encodeURIComponent('%%GLOBAL_ProductName%%') 
       + "&imgurl=" + encodeURIComponent('%%GLOBAL_ThumbImageURL%%') 
       + "&desc=" + encodeURIComponent('%%GLOBAL_ProductDesc%%') 
       + "&price=" + encodeURIComponent('%%GLOBAL_ProductPrice%%')); 
+0

VAR URL =“http://www.polyvore.com/cgi/加入?title =“ + encodeURIComponent(%% GLOBAL_ProductName %%) +”&url =“+ encodeURIComponent(”http://lilaboutique.co.uk/products/“ + encodeURIComponent(%% GLOBAL_ProductName %%) + “&imgurl =”+ encodeURIComponent(%% GLOBAL_ThumbImageURL %%) +“&desc =”+ encodeURIComponent(%% GLOBAL_ProductDesc %%) +“&price =”+ encodeURIComponent(%% GLOBAL_ProductPrice %%)); var img =“”; document.write(img.link(url)); – elramirez 2010-08-13 14:30:20

+0

以上不会呈现片段。我在做什么错误实现你的变量?谢谢您的帮助。 – elramirez 2010-08-13 14:31:13

+0

首先,我假设'%%'中的值在我们到达之前被替换。你可能需要用引号将它们包裹起来,这样它们才是你编码的字符串。 其次,您创建图像并将其包装在链接中的方法不起作用。我建议让''''结构,然后找到''(通过document.getElementById,jQuery选择器等),并将其'href'属性更新为您创建的url。 – bdukes 2010-08-13 18:06:05

0

escape()unescape()

要删除 “%”,你可以这样做:

"http://www.polyvore.com/cgi/add?title=%%GLOBAL_ProductName%%&url".replace(/%/g, "")