2015-10-23 2 views
1

Existe-t-il un moyen de forcer mon navigateur à actualiser (re-télécharger) les ressources JS uniquement, sans actualiser la page entière? Solution dans n'importe quel navigateur Web est très bien. Bien sûr, une solution indépendante du navigateur serait la meilleure.Recharger le fichier JS sans rafraîchissement de la page

Fond: Notre application a plusieurs écrans sur la même page. Après quelques actions sur un écran, AJAX récupère un autre écran. Comme la page utilise souvent JS, j'ai souvent besoin de changer ses ressources JS. Après un rafraîchissement de la page pour obtenir le JS fixe, je dois passer par tous les écrans précédents avant d'arriver à celui que je suis en train de déboguer.

+0

Je pense que si vous pouvez faire cela, vous devez dire au navigateur "réexécutez" le fichier pour mettre à jour le contexte local. Les requêtes Ajax le font automatiquement, mais elles ne sont pas aussi faciles à déboguer. –

Répondre

3

Vous pouvez utiliser jQuery pour cela. Dans Firefox, vous pouvez écrire quelque chose comme ça directement sur la console Firebug:

$.getScript("http://example.com/path/to/your/file.js"); 

Note: le nouveau script est téléchargé sur le dessus de l'ancien. Tout code JS qui initialise la page est donc exécuté à nouveau, ce qui peut avoir des effets secondaires. Dans les pages comportant beaucoup de JS, il est souvent judicieux de placer les définitions de fonctions et de constantes dans un fichier différent du code init de la page (comme la liaison des événements aux éléments). Ensuite, vous pouvez utiliser getScript() pour obtenir uniquement le fichier de définitions.

Si vous voulez avoir toutes les choses dans un seul fichier, vous pouvez effacer les anciens se fixe avant de charger le nouveau fichier par:

$("*").off();