Как я могу запустить пользовательский скрипт до запуска любых встроенных скриптов на веб-странице?

Я хочу сделать сценарий типа Greasemonkey для Firefox, который запускается перед сценариями на странице. Скрипты Greasemonkey запускаются после скриптов на странице, так что это не сработает. Причина, по которой мне это нужно, заключается в том, что я хочу отредактировать один из сценариев на странице. В частности, я хочу удалить сценарий, который заставляет страницу загружаться внутри фрейма, поскольку наличие страницы внутри фрейма прерывает F5 (нажатие F5 заставляет страницу вернуться на первую страницу вместо перезагрузки текущей страницы). Кроме того, я не хочу загружать страницу через прокси с AJAX, и переход на chrome/opera также не вариант. Я подумал, что, возможно, надстройка Jetpack будет работать, но, похоже, у нее есть только то же событие, что и Greymonkey, DOMContentLoaded. Любые идеи?


person Telanor    schedule 08.04.2010    source источник
comment
ЕСЛИ Opera была опцией, тогда вы могли бы просто переименовать свой файл *.user.js в *.js, и он запустился бы еще до того, как какой-либо контент начал загружаться.   -  person c69    schedule 18.12.2011
comment
Я знаю, но я не использую оперу в качестве браузера. Поскольку у меня сильно настроенный Firefox, переключение и сохранение всего, что я хочу, вероятно, было бы невозможно. Установка и использование другого браузера только для одного сайта кажется немного глупым.   -  person Telanor    schedule 18.12.2011


Ответы (1)


[edit 2013] Используйте страницу -mod модуля Add-on SDK с contentScriptWhen = start.


старее: правильно, только более новые сборки Firefox (в настоящее время 3.7 ночных, позже могут быть добавлены в 3.6.x) имеют поддержку запуска пользовательских сценариев перед сценариями, указанными в содержимом. Я написал прототип модуля Jetpack-SDK, чтобы воспользоваться преимуществами нового уведомления.

Это ‹script src> или встроенный скрипт? В первом случае его можно заблокировать с помощью политики контента (что-то вроде блокировки рекламы).

person Nickolay    schedule 09.04.2010
comment
Интересный. Я посмотрю, смогу ли я понять, как заставить его работать. Скрипт является встроенным скриптом. - person Telanor; 10.04.2010
comment
Не могли бы вы добавить ссылку на пример того, что просит @Telanor? - person Jaime Hablutzel; 06.04.2013