tiun
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Понадобилось мне запустить userscript с двумя нюансами: 1. Скрипт должен отработать до того, как запустится самый первый скрипт странички. 2. Происходить это всё должно в Mypal. Результат получился... ммм... не получился. Тогда я начал экспериментировать. Создал тестовую веб-страничку. Пустую практически - с одной строкой текста в качестве видимого содержимого и скриптом в самом конце, состоящим из одной команды: "console.log('page')". И свой userscript тоже сделал однострочным: "console.log('script')". В его заголовке прописал самый ранний старт, какой только возможен: "@run-at document-start". А дальше начал устанавливать и пробовать разные менеджеры скриптов (все, какие смог найти). И вот что получил: Greasemonkey - непредсказуемо: то сначала пишет строку 'script', а за ней 'page', то наоборот - сначала 'page', а за ней 'script', а то вообще только 'page' (а скрипт вообще не запускает, выходит). Tampermonkey - стабильно сначала строка 'page', а за ней 'script'. Хотя если залезть очень глубоко в настройки и там включить экспериментальный режим "Inject Mode: Instant", то стабильно получаю нужный порядок исполнения. Но непонятно, как это "Instant" сосуществует с другими вариантами "@run-at" (не все ведь скрипты нужно запускать так рано, а настройка "Inject Mode" глобальная). Violentmonkey - не работает: UI убит строками "undefined has no properties" во всевозможных местах, а в консоли: "Error: Violentmonkey cannot connect to the background page". FireMonkey - та версия, которая совместима с FF 74, мой скрипт просто не запускает, как будто его и нет вовсе, хотя на своей кнопке его наличие и предназначенность для этой странички показывает. Это что, теперь такая новая реальность? | Всего записей: 690 | Зарегистр. 02-11-2007 | Отправлено: 04:26 30-10-2025 | Исправлено: tiun, 05:19 30-10-2025 |
|