LINUX.ORG.RU

Как гарантировано перекрыть user-script'ом все скрипты страницы?

 


0

1

Я имею в виду пользовательский, который пишется для браузера. Я пытаюсь использовать onload и addEventlistener(«load», func), но на некоторых сайтах это не срабатывает. Видимо, аджаксом подгружаются скрипты, которые вновь перекрывают мой юзер скрипт, отменяют его действие. Есть ли способ гарантированно выполнить свой юзер скрипт на любой странице?



Последнее исправление: terminator-101 (всего исправлений: 1)

Юзверьскрипт запускается после полной загрузки страницы, поэтому onload твой вряд ли будет работать до onload страницы

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я нихнепонял. наоборот, проблема в том, что юзерскрипт не везде работает. Если бы он грузился после полной загрузки, он бы работал везде.

terminator-101
() автор топика

Видимо, аджаксом подгружаются скрипты

Аяксом скорее всего подгружается контент, а скрипт переустанавливает обработчики событий.

Есть ли способ гарантированно выполнить свой юзер скрипт на любой странице?

ИМХО это невозможно в общем случае. Если скрипт на странице запускает что-то типа setInterval(function(){$('.some').unbind().click(function(){...})}, 5000) то как ты собрался его перебить?

no-such-file ★★★★★
()

Напиши MutationObserver, который будет перехватывать все создания <SCRIPT>. Оформи в виде content script extension и укажи самый ранний этап загрузки в манифесте.

noomorph
()
Ответ на: комментарий от anonymous

Затем же, зачем юзер-скрипты и пишутся. А нахрен их тогда писать, если они работать будут в зависимости от погоды на марсе?

terminator-101
() автор топика
Ответ на: комментарий от terminator-101

как зачем?

- «чтобы искать приключений» (C)

Надеюсь, это не для MITM-атак ?

anonymous
()

А вот была бы жива старая Опера и всё могло бы сложиться иначе.

Deleted
()

Не вполне понятно, в чём именно проблема: у тебя на некоторых сайтах не выполняется твой юзерскрипт или он везде выполняется, но тебе не нравится, что там запускаются собственные скрипты с этих сайтов?

Если в том, что твой скрипт не везде исполняется, то ведь и в Firefox, и в Chrome юзерскрипты не встраиваются на страницу, а работают в отдельном контексте, и страница на них повлиять так просто не может, а значит проблема либо в браузере, либо в твоём скрипте.

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.