6

我对 window.location.href 有疑问。

我正在尝试使用以下代码重定向到页面:

window.location.href = "juego.html"+'?modoJuego='+modoJuego+"&etapa="+etapa+"&rango="+rango;

它在 Firefox 和 Chrome 上完美运行,但是在 IE10 中浏览器冻结,我必须重新启动它。有时它重定向到所需的页面,但参数不通过。我一直在寻找解决方案,例如这个:

Window.Location 在 IE 中不起作用?

但是建议的解决方案对我不起作用。

有人知道如何处理这个吗?

4

4 回答 4

5

问题可能是由于变量的值。如果它们包含特殊或无效字符,则需要encodeURIComponent在分配给window.location.href.

于 2013-08-16T18:06:28.817 回答
4

出于某种原因,IE 只喜欢完整的 url。

我有同样的问题并修复它添加完整的网址,如下所示:

var baseURL = 'http://www.your_url.com/';

window.location.href = baseURL + "juego.html"+'?modoJuego='+modoJuego+"&etapa="+etapa+"&rango="+rango;
于 2013-11-20T10:42:40.050 回答
1

用于encodeURIComponent()转义您的网址:

window.location.href = encodeURIComponent("juego.html?modoJuego=" + modoJuego + "&etapa=" + etapa + "&rango=" + rango);

在 Firefox 23.0、Chrome 28.0.1500.95 和 Internet Explorer 10 上运行良好。

于 2013-08-16T17:32:29.090 回答
1

试试window.location.replace(...)吧。

请参阅此问题以获取信息:

如何在 JavaScript/jQuery 中重定向到另一个网页?

于 2014-02-12T12:06:56.187 回答