5

当我使用 window.location 打开带有特殊字符的 url 时,它似乎对特殊字符进行百分比编码,然后打开 URL。例如

var url = "http://gramfeed.com/instagram/tags/kühl";
window.location = url;

这将导致打开一个带有 URL 的页面:

http://gramfeed.com/instagram/tags/k%C3%BChl

代替:

http://gramfeed.com/instagram/tags/kühl

如何在没有百分比编码字符的情况下正确打开 URL

这是一个使用代码的 jsfiddle:http: //jsfiddle.net/krisrak/aSkMR/

4

2 回答 2

3

我不认为问题出在 windows.location 和您的 JavaScript 上。问题在于 gramfeed.com 如何解释标签。在你的代码中试试这个:

var url = "https://www.google.com/search?q=kühl"
window.location = url;

看到特殊字符保持未转换。

现在尝试http://gramfeed.com/instagram/tags/kühl直接在浏览器地址栏中输入 - URL 被转换。

于 2013-08-26T21:54:17.520 回答
0

我也遇到了这个问题,但这是一个完全不同的问题,尽管症状是一样的。最后,我发现我正在重定向到一个桌面网站 URL,但对于手机,这在他们的服务器上被重定向到他们的移动网站,然后它被编码了两次。

因此,如果可能的话,在移动设备上直接重定向到移动网站总是值得的。

希望这对其他人有帮助:)

于 2016-08-16T12:15:24.580 回答