Как сделать автообновление Firefox при изменении файла? - PullRequest
62 голосов
/ 28 августа 2009

Кто-нибудь знает расширение для Firefox, сценарий или какой-либо другой механизм, который может отслеживать один или несколько локальных файлов. Firefox будет автоматически обновлять или иным образом обновлять свой холст, когда обнаружит изменение (метки времени) в файлах (файлах).

Для редактирования CSS было бы идеально, если бы можно было перезагружать только CSS, а не полностью перерисовывать HTML.

По сути, это позволило бы поведение, подобное Firebug, с его динамическим редактированием HTML / CSS, только через внешние файлы.

Ответы [ 9 ]

70 голосов
/ 17 июня 2011

Live.js

С сайта:

Как? Просто включите Live.js, и он будет отслеживать текущую страницу, включая локальные CSS и Javascript, посылая последовательные запросы HEAD на сервер. Изменения в CSS будут применены динамически, а изменения HTML или Javascript перезагрузят страницу. Попробуйте!

Где? Live.js работает в Firefox, Chrome, Safari, Opera и IE6 +, пока не доказано обратное. Live.js не зависит от используемой вами среды разработки или языка, будь то Ruby, Handcraft, Python, Django, NET, Java, Php, Drupal, Joomla или что-у вас.

Он имеет огромное преимущество работы с IETester , динамически обновляя каждую открытую вкладку IE.

Попробуйте, добавив следующее в <head>

<script type="text/javascript" src="http://livejs.com/live.js"></script>
39 голосов
/ 07 сентября 2011

Auto Reload - это расширение для Firefox, которое отслеживает локальные изменения файлов и обновляет браузер:

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

7 голосов
/ 25 мая 2016

Я бы порекомендовал livejs

Но у него есть следующие преимущества и недостатки

Преимущества:
1. Простая настройка
2. Работает без проблем в разных браузерах (Live.js работает в Firefox, Chrome, Safari, Opera и IE6 +)
3. Не добавляйте раздражающий интервал для обновления браузера, особенно если вы хотите отладить вместе с проектированием
4. Обновление только при сохранении изменений ctrl + S
5. Непосредственно сохраняет CSS и т. Д. Из firebug. Я не использовал эту функцию, но прочитал на их сайте http://livejs.com/, что они тоже ее поддерживают !!!

Недостатки:
1. Он не будет работать по протоколу файла file:///C:/Users/Admin/Desktop/livejs/live.html
2. Вам нужно иметь сервер, чтобы запустить его как http://localhost
3. Вы должны удалить его при развертывании на стадии подготовки / производства
4. Не обслуживает CDN Я пытался обманывать и применять прямую ссылку http://livejs.com/live.js, но это не сработает, вам придется загружать и продолжать работать локально.

6 голосов
/ 30 ноября 2009

Xrefresh с firebug.

4 голосов
/ 15 апреля 2011

Firefox имеет расширение, называемое mozRepl.

Emacs может подключиться к этому режиму moz-reload-on-save-mode.

при настройке сохранение файла вызывает обновление окна браузера.

4 голосов
/ 28 августа 2009

Вы можете просто разместить интервал javascript на своей странице, запросить у него локальный скрипт, который проверяет последнюю дату изменения файла css и обновляет его, если он изменился.

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);
3 голосов
/ 28 августа 2009

Некоторые IDE содержат эту возможность (у них будет панель внутри или какие-то другие средства для автоматического обновления страницы при сохранении).

Если вы хотите сделать это самостоятельно, просто установите для параметра meta refresh на странице низкое значение - одну или две секунды.

# Will refresh the page content every second
<meta http-equiv="refresh" content="1" />
1 голос
/ 22 ноября 2017

Browsersync может сделать это со стороны сервера / вне браузера.

Это может привести к более повторяемым результатам / вещам, которые не требуют большого количества нажатий.

Это будет обслуживать страницу и обновлять при изменении

cd static_content
browser-sync start --server --files .

Также разрешен режим сценариев.

0 голосов
/ 28 августа 2009

Я думаю, что вы можете решить эту проблему с помощью некоторых ajax-запросов после определенного интервала. Вы можете сделать запрос к файлам CSS, а затем, если вы не получите заголовок «не изменен», вы удалите свой CSS и загрузите его снова. Для динамических файлов вы делаете запрос и сохраняете ответ, а затем каждый раз, когда делаете запрос в этот файл, сравниваете ответ с самым последним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...