Spec-Zone.ru › Web Extensions

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 вызовите register(), передав объект, определяющий скрипты для регистрации. Метод возвращает Promise, который разрешается с помощью объекта 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 ? Нет ?

См. также

  • Работа с userScripts
  • browser.contentScripts

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API