userScripts
Используйте этот API для регистрации пользовательских скриптов, сторонних скриптов, предназначенных для манипулирования веб-страницами или предоставления новых функций. Регистрация пользовательского скрипта инструктирует браузер прикрепить скрипт к страницам, которые соответствуют шаблонам URL, указанным во время регистрации.
Примечание: При использовании Manifest V3 или более поздней версии используйте scripting.registerContentScripts() для регистрации скриптов.
Этот API предлагает аналогичные возможности contentScripts, но с функциями, подходящими для обработки сторонних скриптов:
- выполнение в изолированном песочнице: каждый пользовательский скрипт выполняется в изолированной песочнице внутри процессов веб-контента, предотвращая случайное или преднамеренное вмешательство между скриптами.
- доступ к глобальным значениям
windowиdocument, относящимся к веб-странице, к которой прикреплен пользовательский скрипт. - нет доступа к API WebExtension или связанным разрешениям, предоставленным расширению: скрипт API, который наследует разрешения расширения, может предоставлять упакованные API WebExtension зарегистрированным пользовательским скриптам. Скрипт API объявляется в файле манифеста расширения с использованием ключа манифеста "user_scripts".
Предупреждение: Для этого API требуется наличие ключа user_scripts в manifest.json, даже если скрипт API не указан. Например, user_scripts: {}.
Для использования API вызовите , передав объект, определяющий скрипты для регистрации. Метод возвращает Promise, который разрешается с помощью объекта register().RegisteredUserScript
Примечание: Пользовательские скрипты аннулируются, когда соответствующая страница расширения (из которой были зарегистрированы пользовательские скрипты) загружается, поэтому вы должны регистрировать пользовательский скрипт со страницы расширения, которая сохраняется как минимум до тех пор, пока вы хотите, чтобы пользовательские скрипты оставались зарегистрированными.
Типы
userScripts.RegisteredUserScript-
Объект
objectвозвращаемый методомregister(). Он представляет зарегистрированные пользовательские скрипты и используется для отмены регистрации пользовательских скриптов.
Методы
userScripts.register()-
Регистрирует пользовательские скрипты.
События
userScripts.onBeforeScript-
Событие, доступное скрипту API, зарегистрированному в
"user_scripts", которое выполняется до выполнения пользовательского скрипта. Используйте его для запуска экспорта дополнительных API, предоставляемых скриптом API, чтобы они были доступны пользовательскому скрипту.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
RegisteredUserScript |
Нет | Нет | 68 | ? | Нет | Нет | ? | ? | 68 | ? | Нет | ? |
cookieStoreId |
Нет | Нет | 98 | ? | Нет | Нет | ? | ? | 98 | ? | Нет | ? |
onBeforeScript |
Нет | Нет | 68 | ? | Нет | Нет | ? | ? | 68 | ? | Нет | ? |
register |
Нет | Нет | 68 | ? | Нет | Нет | ? | ? | 68 | ? | Нет | ? |
См. также
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/userScripts