我的window.location.href有问题。
我正在尝试使用以下代码重定向到页面:
window.location.href = "juego.html"+'?modoJuego='+modoJuego+"&etapa="+etapa+"&rango="+rango;
它在Firefox和Chrome上完美运行,但在IE10浏览器冻结,我必须重新启动它。有时它会重定向到所需的页面,但参数不会通过。我一直在寻找解决方案,例如:
Window.Location Not Working In IE?
但建议的解决方案对我不起作用。
有人知道如何处理这件事吗?
答案 0 :(得分:4)
问题可能是由于变量的价值所致。如果它们包含特殊字符或无效字符,则需要在分配给window.location.href
之前将其传递到encodeURIComponent
。
答案 1 :(得分:2)
出于某种原因,IE只喜欢完整的网址。
我有同样的问题,并修复它添加这样的完整网址:
var baseURL = 'http://www.your_url.com/';
window.location.href = baseURL + "juego.html"+'?modoJuego='+modoJuego+"&etapa="+etapa+"&rango="+rango;
答案 2 :(得分: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。
答案 3 :(得分:1)
请尝试window.location.replace(...)
。
请参阅此问题以获取相关信息: