de la fenêtre.emplacement.href = fenêtre.emplacement.href et JSLint
Si vous utilisez
window.location.href = window.location.href;
pour recharger une page (sans re-Poster) n'est pas une mauvaise pratique, que devrions-nous faire de JSLint "Bizarre affectation" plainte?
MODIFIER window.location.reload()
n'est pas adapté quand vous ne voulez pas afficher les données du formulaire à nouveau. Dans certains navigateurs, il provoque le "Renvoyer le formulaire de données?", ce qui est à éviter lorsqu'il n'est pas nécessaire.
Mise à JOUR j'ai fait quelques très brèves, les tests trouvés:
- Chrome 12 et Safari 5.0.5 sur Mac ne pas re-POSTER avec
.reload()
- FF 2.0, 3.6, 4.0, 5.0 sur Mac présenter à l'utilisateur les "renvoyer le formulaire de dialogue" avec
.reload()
,.reload(true)
, et.reload(false)
- IE6, IE8(normes), IE8(mode IE7,normes) en XP; et IE9 et IE10-tech-aperçu dans Win7 se comportent de la même que FF sur Mac
window.location = window.location.href
fonctionne de la même commewindow.location.href = window.location.href
dans tous ces navigateurs.
Voici le script de test.
Saviez-vous qu'une liste d'email pour jslint? Vous pourriez poser des questions de ce genre là aussi.
MDN Docs pour window.emplacement.reload(forceGet);
merci pour la suggestion. C'est peut-être quelque chose de JSLint peut, comme pour tolérer lorsque le
MDN Docs pour window.emplacement.reload(forceGet);
merci pour la suggestion. C'est peut-être quelque chose de JSLint peut, comme pour tolérer lorsque le
"browser"
option est définie.OriginalL'auteur | 2011-07-19
Vous devez vous connecter pour publier un commentaire.
Essayer cette
window.location.reload()
re-POSTER le formulaire?Oui cette réponse n'est pas correcte.
Je pense que ça va poser pour une nouvelle tentative en cas de message. J'ai édité ma réponse.
C'est un vilain modifier! 3 les votes étaient pour une réponse différente au total. Je vais avoir besoin de vérifier cela dans les navigateurs, je suis tenu de soutien.
J'ai ajouté quelques navigateur compat résultats de la recherche sur
window.location = window.location.href;
à l'origine quesiton.OriginalL'auteur
C'est en effet un drôle d'affectation pour affecter quelque chose à lui-même. Ressemble plus un avertissement qu'une plainte.
J'ai moi-même préférez utiliser:
Edit: mais ce serait réafficher le formulaire, ne serait-il pas. Voici un post sur DONC sur la même chose: php recharger la page sans la publication des données
Voir mon Q dans le commentaire de ShankarSangoli
haha moins walkie walkie plus de code
crikey bon appel! l'édition de ma réponse.
Post/redirect/get a sa place, mais c'est un serveur-côté technique. Si le script client décide de recharger la page, permet de dire, un ajax d'erreur, et doit utiliser la page de l'URL actuelle (avec une requête params il peut avoir), mais pas re-POSTER, alors
window.location.href = window.location.href;
est juste le billet.OriginalL'auteur
Il est bizarre de cession, de JSLint est droit. Le problème est que la définition de la variable a pour effet de bord de rechargement de la page. Je voudrais le code de ce que
window.location.href = window.location.href + '';
pour éviter de JSLint erreurs et de mettre un commentaire expliquant ce qu'il fait.J'aurais juré que je l'ai vérifié. Un autre essai:
window.location.href = window.location.href + String();
C'est OK avec JSLint et va sûrement être équivalent à
window.location.href = window.location.href;
. Mais je crois que je préfère le ShankarSangoli dewindow.location = window.location.href;
qui je pense peut permettre à sans un commentaire.OriginalL'auteur