Как перезагрузить только скрипты через firebug
В последнее время я делаю много аякса. Сценарий, который я повторяю снова и снова:
- страница загрузки
- изменить некоторые сценарии для этой страницы
- перезагрузите страницу с помощью ctrl + f5 и посмотрите, работает ли она
Что я хочу сделать, говорит firebug, чтобы перезагрузить только скрипты, а не всю страницу, потому что разметка такая же. В любом случае, чтобы сделать это?
Ответы
Ответ 1
Сначала попробуйте и минимизируйте такой тип тестирования. Запишите атомный, код DRY и unit test, прежде чем складывать его на сайт/страницу. Вы можете сделать это быстро в консоли Firebug.
Затем, если JS, который вы перезагружаете, устанавливает интервалы или прослушиватели событий, тогда вы захотите очистить эти интервалы и отвязать этих слушателей до перезагрузки тестируемого JS. Это означает, что анонимные интервалы и обработчики событий являются verboten.
Создайте JS файл, который вызывает clearInterval()
, removeEventListener()
и .unbind()
при необходимости.
Затем вы можете запустить такой код в консоли Firebug:
function addJS_Node (text, s_URL)
{
var scriptNode = document.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
document.head.appendChild (scriptNode);
}
addJS_Node (null, 'Path_to_JS/ResetTimersAndEvents.js');
addJS_Node (null, 'Path_to_JS/JS_Under_Test.js');
// etc.
Ответ 2
Я думаю, XRefresh может помочь. Он отслеживает ваши локальные папки для изменений и перезагружает их, когда они меняются (после сохранения) без перезагрузки всей страницы.
За их сайт faq:
XRefresh также может заменить внешний JS файл обновленная версия без перезагрузки всей страницы.
Есть ограничения с этим, хотя (и я не вижу никакого способа обойти их), о которых вы можете больше узнать на своей странице faq.
Я все еще думаю, что это лучше, чем вообще никакого выбора.
Надеюсь, что это поможет.
Ответ 3
Я думаю, что вам действительно нужно автоматическое тестирование. Напишите свои тесты, а затем просто запустите их после внесения изменений в код.
Лучший способ сделать это в firefox - webdriver.
Ответ 4
В настоящее время Firefox не может этого сделать.
Если разметка одинакова, то что не так с ctrl + f5? Я предполагаю, что вы не хотите потерять данные в полях формы? Это снова вызывает проблемы, как то, что происходит, если вы просто перезагружаете скрипты, и эти сценарии имеют события, которые срабатывают при изменении полей формы, эти события никогда не будут стрелять и могут привести к тому, что страница окажется в состоянии, в котором он не должен находиться.
Есть некоторые плагины браузера, которые позволяют вам автоматически заполнять поля формы одним нажатием кнопки с предварительно определенными значениями, это может быть хорошей альтернативой перезагрузке только скриптов. Похоже, этот плагин firefox сделает именно это https://addons.mozilla.org/en-US/firefox/addon/autofill-forms/