Скрипты
Вставляет JavaScript и CSS в веб-сайты. Этот API предлагает два подхода к вставке контента:
-
scripting.executeScript(),scripting.insertCSS()иscripting.removeCSS(), которые обеспечивают однократную инъекцию. -
scripting.registerContentScripts(), который динамически регистрирует скрипты содержимого, которые затем можно получить с помощьюscripting.getRegisteredContentScripts()и аннулировать с помощьюscripting.unregisterContentScripts().
Примечание: Chrome ограничивает использование этого API манифестом версии 3. Firefox и Safari поддерживают этот API в манифестах версий 2 и 3.
Этот API требует "scripting" разрешение и разрешение на хостинг для целевого объекта в вкладке, в которую вставляется JavaScript или CSS.
В качестве альтернативы, вы можете временно получить разрешение в активной вкладке и только в ответ на явное действие пользователя, запросив "activeTab" разрешение. Однако "scripting" разрешение всё равно требуется.
Типы
scripting.ContentScriptFilter-
Определяет идентификаторы скриптов для извлечения с помощью
scripting.getRegisteredContentScripts()или для аннулирования с помощьюscripting.unregisterContentScripts(). scripting.ExecutionWorld-
Определяет среду выполнения скрипта, вставленного с помощью
scripting.executeScript()или зарегистрированного с помощьюscripting.registerContentScripts(). scripting.InjectionTarget-
Подробности целевого объекта инъекции.
scripting.RegisteredContentScript-
Подробности скрипта содержимого, который необходимо зарегистрировать или который уже зарегистрирован.
Функции
scripting.executeScript()-
Вставляет код JavaScript на страницу.
scripting.getRegisteredContentScripts()-
Получает список зарегистрированных скриптов содержимого.
scripting.insertCSS()-
Вставляет CSS на страницу.
scripting.registerContentScripts()-
Регистрирует скрипт содержимого для будущих загрузок страниц.
scripting.removeCSS()-
Удаляет CSS, который ранее был вставлен на страницу вызовом
scripting.insertCSS(). scripting.updateContentScripts()-
Обновляет один или несколько уже зарегистрированных скриптов содержимого.
scripting.unregisterContentScripts()-
Аннулирует один или несколько скриптов содержимого.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
ExecutionWorld |
102 | 102 | 102 | ? | 88 | 15.4 | ? | ? | 102 | ? | 15.4 | ? |
InjectionTarget |
88 | 88 | 102 | ? | 74 | 15.4Доступно для использования в манифесте версии 2 или выше. |
? | ? | 102 | ? | 15.4Доступно для использования в манифесте версии 2 или выше. |
? |
RegisteredContentScript |
88 | 88 | 102 | ? | 74 | 16.4Доступно для использования в манифесте версии 2 или выше. |
? | ? | 102 | ? | 16.4Доступно для использования в манифесте версии 2 или выше. |
? |
scripting |
88Доступно для использования в манифесте версии 3 или выше. |
88Доступно для использования в манифесте версии 3 или выше. |
102 | ? | 74Доступно для использования в манифесте версии 3 или выше. |
15.4 | ? | ? | 102 | ? | 15.4 | ? |
executeScript |
88 | 88 | 102 | ? | 74 | 15.4 | ? | ? | 102 | ? | 15.4 | ? |
getRegisteredContentScripts |
88 | 88 | 102 | ? | 74 | 16.4Доступно для использования в манифесте версии 2 или выше. |
? | ? | 102 | ? | 16.4Доступно для использования в манифесте версии 2 или выше. |
? |
insertCSS |
88 | 88 | 102 | ? | 74 | 15.4 | ? | ? | 102 | ? | 15.4 | ? |
registerContentScripts |
88 | 88 | 102 | ? | 74 | 16.4Доступно для использования в манифесте версии 2 или выше. |
? | ? | 102 | ? | 16.4Доступно для использования в манифесте версии 2 или выше. |
? |
removeCSS |
88 | 88 | 102 | ? | 74 | 15.4 | ? | ? | 102 | ? | 15.4 | ? |
unregisterContentScripts |
88 | 88 | 102 | ? | 74 | 16.4Доступно для использования в манифесте версии 2 или выше. |
? | ? | 102 | ? | 16.4Доступно для использования в манифесте версии 2 или выше. |
? |
updateContentScripts |
88 | 88 | 102 | ? | 74 | 16.4Доступно для использования в манифесте версии 2 или выше. |
? | ? | 102 | ? | 16.4Доступно для использования в манифесте версии 2 или выше. |
? |
Примечание: Этот API основан на API chrome.scripting Chromium.
© 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/scripting