kri*_*rak 5 javascript url window.location percent-encoding
当我使用 window.location 打开带有特殊字符的 url 时,它似乎对特殊字符进行百分比编码,然后打开该 URL。例如
var url = "http://gramfeed.com/instagram/tags/kühl";
window.location = url;
Run Code Online (Sandbox Code Playgroud)
这将导致打开一个带有 URL 的页面:
http://gramfeed.com/instagram/tags/k%C3%BChl
Run Code Online (Sandbox Code Playgroud)
代替:
http://gramfeed.com/instagram/tags/kühl
Run Code Online (Sandbox Code Playgroud)
如何在没有百分比编码字符的情况下正确打开 URL
这是一个使用代码的 jsfiddle:http : //jsfiddle.net/krisrak/aSkMR/
我不认为问题出在 windows.location 和你的 JavaScript 上。问题在于 gramfeed.com 如何解释标签。在您的代码中尝试一下:
\n\nvar url = "https://www.google.com/search?q=k\xc3\xbchl"\nwindow.location = url;\nRun Code Online (Sandbox Code Playgroud)\n\n确保特殊字符保持不变。
\n\n现在尝试输入http://gramfeed.com/instagram/tags/k\xc3\xbchl直接在浏览器地址栏中输入 - URL 会被转换。