Сначала легкая часть:
"На аналогичном замечании: есть ли способ протестировать сценарии, не ожидая каждый раз в течение 4 секунд, чтобы установить его?"
Да!
Убедитесь, что у вас установлен Greasemonkey 9.0 или более поздней версии.
Убедитесь, что у вас есть редактор, настроенный сGM.Вы можете установить это в опциях GM или открыть about: config и установить greasemonkey.editor
, например, D:\Program Files\TextPad\TextPad.exe
, но это должен делать любой приличный редактор программирования.
Теперь отредактируйте скрипт, открыв диспетчер скриптов GM и нажав соответствующую кнопку Редактировать .Ваш редактор должен открыться с правильным загруженным файлом, и любые сделанные вами изменения вступят в силу немедленно, каждый раз, когда вы сохраняете файл.
Будьте осторожны, чтобы изменения, внесенные таким образом в директивы @require
,все равно не вступит в силу.То есть новый файл не будет скопирован и не будет использован.Вы все еще должны удалить / переустановить, чтобы получить @require
изменений на флешку.
"Мне было интересно, есть ли способ выставить скрипт на firebug ион установил точку останова. Я хотел бы иметь возможность в конечном итоге перебирать сценарии, над которыми я работаю. "
Есть новое дополнение, FireBugMonkey ,это может помочь (мне еще нужно попробовать).
Разговор о том, как заставить Firebug хорошо работать над сценариями GM, продолжается уже более 4 лет.Вот самая последняя / релевантная тема в Greasemonkey-Dev Group .
. В ближайшем будущем нет способа пройтись по сценариям GM, которые используют функции GM_
..
Вы можете обойти это, для частей кода, которые не используют такие функции, вставив этот код на целевую страницу, где Firebug сможет его увидеть.
Например, структурируйте ваш код следующим образом:
function localMain ()
{
/*--- Put EVERYTHING inside this wrapper, functions and variables.
Call or use nothing else that's defined in the GM script here.
You can use objects in the source page's scope, though.
*/
console.log ("Hiya!");
}
Затем в Firefox вы можете использовать unsafeWindow.localMain = localMain;
для ввода кода, Firebug увидит его.
unsafeWindow.localMain();
запускает код из GM, localMain();
запускает его из консоли Firebug.
Помните, что этот метод предоставляет маршрут для вредоносного JavaScript (с целевой страницы) для получения повышенных привилегий ипотенциально pwn ваша система (одна из причин, почему GM был перемещен в песочницу в первую очередь).Но это быстро и просто при настройке таргетинга на доверенные страницы.
~~~
Кроме того, вы можете добавить скрипт следующим образом:
var scriptNode = document.createElement ("script");
scriptNode.textContent = localMain.toString() + "\n localMain ();";
document.body.appendChild (scriptNode);
Этот метод работает во всех соответствующих браузерах.
~~~
Библиотеки, такие как jQuery, могут копироваться или вставляться аналогичным образом.