J'ai actuellement un problème avec firefox, où tous les autres navigateurs se comportent de la bonne façon - même IE6!redirection firefox et javascript
Ce que je veux faire est la redirection vers une sous-page mais en laissant une entrée d'historique. Il existe 2 méthodes de réécriture de l'URL pour autant que je sache:
- window.location = "some.url"; - rediriger vers some.url avec l'entrée d'historique
- window.location.replace ("some.url"); - rediriger sans entrée d'historique
Donc, je dois utiliser le premier et testé dans la console firebug everthing fonctionne très bien.
Maintenant, il est le genre d'une partie étrange de cette question: la même déclaration, qui a bien fonctionné dans la console ne fonctionne pas dans certains gestionnaire de rappel jQuery:
jQuery("#selector").bind("submit", function() {
$.getJSON("some_cool_json", function(response) {
var redirect_path = response.path;
window.location = redirect_path;
});
return false;
});
où response_path
est correctement réglée, j'ai vérifié il! Même la redirection fonctionne correctement, mais aucune entrée d'historique n'a été créée.
Des idées sur celui-là? Ça serait génial! ;)
Vive
Joe
Cela semble étrange, mais c'est tout! Je vous remercie! Serait intéressant d'avoir un gourou jQuery dans la ligne pour comprendre ce qui se passe sur les internes! ;) – xijo
Qu'est-ce que jQuery fait: il construit une balise '
utilisation assign():
Source
2010-03-08 12:18:53
Salut Henchman et merci pour votre réponse, j'ai oublié de mentionner que j'ai essayé «assigner», mais cela n'a pas fonctionné aussi bien! – xijo
+1 'assign()' est plus correct que 'window.location =" http: // ... "', bien que cela n'explique pas pourquoi ce qui se passe est en train de se produire. –
peut-être firefox utilise .replace() lors de l'utilisation de window.location = ""?! –