J'ai un problème étrange avec mon Javascript dans Firefox 3.0.x. Dans Firefox 3.0.12, la page est constamment rechargée dès que le corps de la liste est chargé. Ni Firefox 3.5, ni Safari 4 ni Chrome 5 (tous sur Mac) ne rencontrent ce problème.Infinite Refresh Loop dans Firefox 3.0
EDIT: J'ai créé un exemple isolé plutôt que de l'extraire de mon code existant.
Le problème était lié à un bogue qui provoquait le rechargement de la page lors de la définition de location.hash sur une chaîne vide dans FF 3.0.
test.js
function welcomeIndexOnLoad() {
$("#options a").live('click', function() {
optionClicked($(this), "get_list_body.html");
return false;
});
$(document).ready(function() {
optionClicked(null, "get_list_body.html");
});
}
function optionClicked(sender, URL) {
queryString = "";
if (sender != null) {
queryString = $(sender).attr("rel");
}
$("#list_body").load(URL + "?" + queryString, function(resp, status, AJAXReq) {
console.log(resp);
console.log("" + status);
location.hash = queryString;
});
}
test.html
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script type="text/javascript" src="test.js"></script>
<script>
welcomeIndexOnLoad();
</script>
</head>
<body>
<div id="container">
Outside of list body.
<div id="list_body">
</div>
</div>
</body>
</html>
get_list_body.html
<h3>
<div id="options">
<a href="#" rel="change_list">Change List</a>
</div>
<ul>
<li>li</li>
</ul>
ligne jQuery 5252 (un xhr.send() appel) apparaît dans la console dès que la page rechargements:
xhr.send(type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null);
Cela ne semble pas résoudre le problème que j'ai sur le navigateur fennec sur OnePlus 1 .. J'ai essayé en remplaçant .load() avec $ .get() et $ (sélecteur) .html. Pourtant, je reçois le même problème. Des pensées ? – pravin
J'ai posté ceci il y a plus de 5 ans. Je suis sûr qu'une tonne a changé dans Firefox, donc il est possible que votre problème soit causé par autre chose. Vous devriez poster une nouvelle question que quelqu'un avec plus d'expérience avec votre installation particulière peut être capable de répondre. –