Подтвердить что ты не робот

Как перезагрузить только скрипты через firebug

В последнее время я делаю много аякса. Сценарий, который я повторяю снова и снова:

  • страница загрузки
  • изменить некоторые сценарии для этой страницы
  • перезагрузите страницу с помощью ctrl + f5 и посмотрите, работает ли она

Что я хочу сделать, говорит firebug, чтобы перезагрузить только скрипты, а не всю страницу, потому что разметка такая же. В любом случае, чтобы сделать это?

4b9b3361

Ответ 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/