javascript
  • internet-explorer
  • 2013-08-16 57 views 3 likes 
    3

    我有一个window.location.href的问题。window.location.href在IE上不工作

    我试图重定向到用下面的代码页:

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

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

    Window.Location Not Working In IE?

    但提出的解决方案没有为我工作。

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

    +1

    只需使用'window.location'。 – user1477388

    +0

    http://stackoverflow.com/questions/10201809/ie-incompatability-with-window-location-href? – twinlakes

    +0

    其中之一,不要混用''''和'''。对于两者,不需要添加硬编码的字符串('juego.html“+'?modoJuego')。 'window.location.href =“juego.html?modoJuego =”+ modoJuego +“&etapa =”+ etapa +“&rango =”+ rango;' –

    回答

    4

    这个问题可能

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

    正常工作,由于您的变量的值。如果它们包含特殊或无效字符,那么在分配给window.location.href之前,需要通过encodeURIComponent

    +0

    谢谢André,只是一点点的观察:encodeURIComponent对我没有帮助,然而,对于特殊字符的东西是正确的,我在变量上有一些空格,我删除它们,现在它的工作正常。 – Vito

    1

    使用encodeURIComponent()逃避你的网址:火狐23.0,Chrome浏览器28.0.1500.95和Internet Explorer 10

    +0

    谢谢,但它没有奏效。问题是参数上有一些空格,我删除了它们,现在工作正常。 – Vito

    +0

    毫无疑问,这是问题所在,解决方案是使用'encodeURIComponent'来转义这些非法字符。完全删除它们可以避免这个问题。 – losnir

    +0

    它没有奏效。我尝试过,但没有解决问题。解决问题的方法是手动删除字符(参数上的空格)。 – Vito

    2

    由于某种原因IE只喜欢完整的网址。

    我有TE同样的问题并解决它添加完整的URL是这样的:

    var baseURL = 'http://www.your_url.com/'; 
    
    window.location.href = baseURL + "juego.html"+'?modoJuego='+modoJuego+"&etapa="+etapa+"&rango="+rango; 
    
    0

    尝试window.location.replace(...)代替。

    转问这个问题的信息:

    How to redirect to another webpage in JavaScript/jQuery?

    相关问题