尝试对网址进行编码时
http://www.example.com/events/tours/example-tour/?utm_source=example&utm_medium=banner
它让我回过头来看:
的http%3A%2F%2Fwww.example.com%2Fevents%2Ftours%2Fexample游%2F%3Futm_source%3Dexample%26utm_medium%3Dbanner%20
不代表有效的网址,因为它无法在浏览器中调用并导致谷歌搜索(Chrome,你知道吗?)
如何使用JS编码URL?
答案 0 :(得分:1)
在javascript中正确编码网址的正确方法是
encodeURIComponent();
给你
http%3A%2F%2Fwww.example.com%2Fevents%2Ftours%2Fexample-tour%2F%3Futm_source%3Dexample%26utm_medium%3Dbanner
然后
decodeURIComponent();
在另一侧再次解码网址以使其有效。
encodeURIComponent不是有效的url,因为你要传递的编码是一个GET变量。
像
http://www.site.com/index.php?url=http%3A%2F%2Fwww.example.com%2Fevents%2Ftours%2Fexample-tour%2F%3Futm_source%3Dexample%26utm_medium%3Dbanner