78 votes

Comment faire en sorte que Firefox se rafraîchisse automatiquement en cas de changement de fichier ?

Quelqu'un connaît-il une extension pour Firefox, ou un script ou un autre mécanisme, qui peut surveiller un ou plusieurs fichiers locaux. Firefox rafraîchirait automatiquement ou mettrait autrement à jour sa toile lorsqu'il détecterait un changement (d'horodatage) dans le ou les fichiers.

Pour l'édition des CSS, l'idéal serait de pouvoir recharger uniquement les CSS, plutôt que de procéder à un nouveau rendu complet du HTML.

En fait, cela permettrait un comportement similaire à celui de Firebug avec son édition dynamique de HTML/CSS, mais par le biais de fichiers externes.

91voto

Charles Roper Points 8928

Live.js

Extrait du site web :

Comment ? Il suffit d'inclure Live.js pour qu'il surveille la page en cours, y compris les CSS et Javascript locaux, en envoyant des requêtes HEAD consécutives au serveur. Les modifications apportées aux CSS seront appliquées de manière dynamique et les modifications HTML ou Javascript rechargeront la page. Essayez-le !

Où ? Live.js fonctionne dans Firefox, Chrome, Safari, Opera et IE6+ jusqu'à preuve du contraire. Live.js est indépendant du cadre de développement ou du langage que vous utilisez, que ce soit Ruby, Handcraft, Python, Django, NET, Java, Php, Drupal, Joomla ou autre.

Il a l'énorme avantage de travailler avec IETester en rafraîchissant dynamiquement chaque onglet IE ouvert.

Essayez-le en ajoutant les éléments suivants à votre <head>

<script type="text/javascript" src="http://livejs.com/live.js"></script>

0 votes

C'est ce que je cherchais depuis longtemps et cela fonctionne à merveille !!! Il détecte le changement et la sauvegarde d'une page et recharge instantanément la page, ce qui m'évite de devoir recharger la page à chaque fois que je fais un changement ! Merci beaucoup pour le partage !

25 votes

Wow, merci ! Aussi pour tous ceux qui l'utiliseront, veuillez noter que Live.js doesn't support the file protocol. It needs http.

2 votes

Ça n'a pas marché pour moi alors j'ai écrit php script et js script. JS script fait une requête toutes les Nième seconde à php script et php script vérifie si les fichiers ont été modifiés. Si c'est le cas, il fait savoir à js que la page doit être rafraîchie. Vous pouvez spécifier les extensions et les répertoires que vous souhaitez surveiller. Vous n'avez qu'à mettre deux fichiers dans votre projet et vous avez terminé. Aucune dépendance et aucun logiciel tiers dans votre système. Plus de détails : alexshulzhenko.ru/web-development-autorefresh-page-on-changes

40voto

harrylove Points 1025

Auto Reload est une extension pour Firefox qui surveille les modifications des fichiers locaux et actualise le navigateur :

https://addons.mozilla.org/en-US/firefox/addon/auto-reload/

6voto

Alysko Points 142

Xrefresh avec firebug.

1 votes

Existe-t-il une alternative linux par hasard ?

0 votes

Elle a été remplacée par LiveReload qui est un shareware pour Mac : 10 $. Je ne sais pas s'il est gratuit pour les autres plateformes. J'utilise le logiciel gratuit Rechargement automatique ce qui est suggéré par un autre commentaire.

6voto

bob Points 30

Firefox dispose d'une extension appelée mozRepl.

Emacs peut se connecter à cela, avec moz-reload-on-save-mode.

lorsqu'il est configuré, l'enregistrement du fichier force un rafraîchissement de la fenêtre du navigateur.

0 votes

Et pour Vim, il est mentionné à : vim.wikia.com/wiki/

4voto

Jonathan Sampson Points 121800

Vous pourriez simplement placer un intervalle javascript sur votre page, pour qu'il interroge un script local qui vérifie la dernière date modifiée du fichier css, et le rafraîchit s'il a changé.

Exemple de jQuery :

var modTime = 0;
setInterval(function(){
  $.post("isModified.php", {"file":"main.css", "time":modTime}, function(rst) {
    if (rst.time != modTime) {
      modTime = rst.time;
      // reload style tag
      $("head link[rel='stylesheet']:eq(0)").remove();
      $("head").prepend($(document.createElement("link")).attr({
          "rel":"stylesheet",
          "href":"http://sstatic.net/mso/all.css?v=4372"
        })
      );
    }
  });
}, 5000);

0 votes

Oui, c'est possible. Mais il faudrait que jQuery soit chargé sur la page.

1 votes

@CharlesRoper C'est le bookmarklet que vous cherchiez : pagereboot.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X