[removed].href not working on IE

2020-02-06 02:47发布

问题:

I have a problem with window.location.href.

I'm trying to redirect to a page with the following code:

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

It works perfectly on Firefox and Chrome, however in IE10 the browser freezes and I have to restart it. Sometimes it redirect to the desired page, but the parameters do not pass through. I have been looking for a solution, for example this one:

Window.Location Not Working In IE?

But the proposed solution do not work for me.

Do somebody know how to deal with this?

回答1:

The problem is likely due to the value of your variables. If they contain special or invalid characters, those needs to be passed through encodeURIComponent before being assigned to window.location.href.



回答2:

For some reason IE only like full url.

I have te same problem and fix it adding the full url like this:

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

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


回答3:

Use encodeURIComponent() to escape your url:

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

Works fine on Firefox 23.0, Chrome 28.0.1500.95 and Internet Explorer 10.



回答4:

Try window.location.replace(...) instead.

Refer this question for information:

How to redirect to another webpage in JavaScript/jQuery?