chrome.webviewTag

Описание

Используйте тег webview , чтобы активно загружать онлайн-контент из Интернета по сети и встраивать его в свое приложение Chrome. Ваше приложение может управлять внешним видом webview и взаимодействовать с веб-контентом, инициировать навигацию по встроенной веб-странице, реагировать на события ошибок, которые происходят внутри нее, и многое другое (см. Использование ).

Разрешения

webview

Типы

ClearDataOptions

Параметры, определяющие, какие данные следует очистить с помощью clearData .

Характеристики

  • с

    номер необязательно

    Очистить данные, накопленные в эту дату или после нее, представленные в миллисекундах с начала эпохи (доступны через метод getTime объекта Date JavaScript). Если он отсутствует, по умолчанию используется значение 0 (что приведет к удалению всех данных просмотра).

ClearDataTypeSet

Набор типов данных. Отсутствующие свойства интерпретируются как false .

Характеристики

  • кэш приложения

    логическое значение необязательно

    Кэш приложений веб-сайтов.

  • кэш

    логическое значение необязательно

    Хром 44+

    Начиная с Chrome 43. Кэш браузера. Примечание: при удалении данных очищается весь кэш; он не ограничен указанным вами диапазоном.

  • печенье

    логическое значение необязательно

    Файлы cookie раздела.

  • файловые системы

    логическое значение необязательно

    Файловые системы веб-сайтов.

  • индексированная БД

    логическое значение необязательно

    Данные IndexedDB веб-сайтов.

  • локальное хранилище

    логическое значение необязательно

    Данные локального хранилища веб-сайтов.

  • постоянные файлы cookie

    логическое значение необязательно

    Хром 58+

    Постоянные файлы cookie раздела.

  • сеансCookies

    логическое значение необязательно

    Хром 58+

    Файлы cookie сеанса раздела.

  • вебSQL

    логическое значение необязательно

    Данные WebSQL веб-сайтов.

ContentScriptDetails

Хром 44+

Подробности сценария содержимого для внедрения. Дополнительные сведения см. в документации по сценариям содержимого .

Характеристики

  • все_кадры

    логическое значение необязательно

    Если all_frames имеет значение true , это означает, что JavaScript или CSS должны быть внедрены во все кадры текущей страницы. По умолчанию all_frames имеет false , и JavaScript или CSS внедряются только в верхний фрейм.

  • CSS

    InjectionItems необязательно

    Код CSS или список файлов CSS, которые будут вставлены в соответствующие страницы. Они вводятся в том порядке, в котором они появляются, до того, как будет создан или отображен какой-либо DOM для страницы.

  • исключать_глобы

    строка[] необязательно

    Применяется после совпадений, чтобы исключить URL-адреса, соответствующие этому шаблону. Предназначен для эмуляции ключевого слова @exclude Greasemonkey.

  • исключать_матчи

    строка[] необязательно

    Исключает страницы, в которые в противном случае был бы внедрен этот сценарий содержимого.

  • include_globs

    строка[] необязательно

    Применяется после совпадений, чтобы включать только те URL-адреса, которые также соответствуют этому шаблону. Предназначен для эмуляции ключевого слова @include Greasemonkey.

  • js

    InjectionItems необязательно

    Код JavaScript или список файлов JavaScript, которые будут внедрены на соответствующие страницы. Они вводятся в том порядке, в котором они появляются.

  • match_about_blank

    логическое значение необязательно

    Вставлять ли сценарий содержимого в about:blank и about:srcdoc. Сценарии контента будут внедряться на страницы только в том случае, если их наследуемый URL-адрес соответствует одному из объявленных шаблонов в поле совпадений. URL-адрес наследования — это URL-адрес документа, создавшего фрейм или окно. Сценарии содержимого нельзя вставлять в изолированные фреймы.

  • спички

    нить[]

    Указывает, на какие страницы будет внедрен этот скрипт содержимого.

  • имя

    нить

    Имя скрипта содержимого для внедрения.

  • run_at

    RunAt необязательно

    Самое ближайшее время, когда на вкладку будет добавлен JavaScript или CSS. По умолчанию «document_idle».

ContentWindow

Дескриптор сообщения для гостевого окна.

Характеристики

  • сообщениеСообщение

    пустота

    Публикует сообщение во встроенном веб-содержимом, пока встроенное содержимое отображает страницу из целевого источника. Этот метод доступен после завершения загрузки страницы. Прослушайте событие contentload , а затем вызовите метод.

    Гость сможет отправлять ответы средству внедрения, публикуя сообщение в event.source о полученном событии сообщения.

    Этот API идентичен API HTML5 postMessage для связи между веб-страницами. Средство внедрения может прослушивать ответы, добавляя прослушиватель событий message в свой собственный кадр.

    Функция postMessage выглядит так:

    (message: any, targetOrigin: string) => {...}

    • сообщение

      любой

      Объект сообщения для отправки гостю.

    • targetOrigin

      нить

      Указывает, каким должно быть происхождение гостевого окна, чтобы событие было отправлено.

ContextMenuCreateProperties

Хром 44+

Характеристики

  • проверено

    логическое значение необязательно

    Исходное состояние флажка или переключателя: true для выбранного и false для невыбранного. В данной группе радиоэлементов одновременно можно выбрать только один радиоэлемент.

  • контексты

    [ ContextType , ... ContextType []] необязательно

    Список контекстов, в которых будет отображаться этот пункт меню. По умолчанию используется ['page'], если не указано иное.

  • ДокументUrlPatterns

    строка[] необязательно

    Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это относится и к фреймам.) Подробную информацию о формате шаблона см. в разделе «Сопоставление шаблонов» .

  • включено

    логическое значение необязательно

    Включен или отключен этот пункт контекстного меню. По умолчанию true .

  • идентификатор

    строка необязательна

    Уникальный идентификатор, который можно присвоить этому элементу. Обязательно для страниц мероприятий. Не может совпадать с другим идентификатором этого расширения.

  • родительский идентификатор

    строка | номер необязательно

    Идентификатор родительского пункта меню; это делает элемент дочерним по отношению к ранее добавленному элементу.

  • таргетурлпаттернс

    строка[] необязательно

    Аналогично documentUrlPatterns, но позволяет фильтровать на основе атрибута src тегов img/audio/video и href тегов привязки.

  • заголовок

    строка необязательна

    Текст, который будет отображаться в элементе; это требуется , если type не является «разделителем». Если контекстом является «выбор», вы можете использовать %s внутри строки, чтобы отобразить выделенный текст. Например, если значение этого параметра — «Перевести «%s» на латынь свиньи», а пользователь выбирает слово «cool», пункт контекстного меню для выбора будет «Перевести «cool» на латынь свиньи».

  • тип

    Тип элемента необязательно

    Тип пункта меню. По умолчанию — «нормальный», если не указано иное.

  • по клику

    аннулировать необязательно

    Функция, которая будет вызываться при нажатии на элемент меню.

    Функция onclick выглядит так:

    (info: OnClickData) => {...}

    • информация

      Информация об элементе, по которому был сделан щелчок, и контексте, в котором произошел щелчок.

ContextMenus

Хром 44+

Характеристики

  • onShow

    Событие<functionvoidvoid>

    Запускается перед отображением контекстного меню в этом webview . Может использоваться для отключения этого контекстного меню путем вызова event.preventDefault() .

    Функция onShow.addListener выглядит так:

    (callback: function) => {...}

    • перезвонить

      функция

      Параметр callback выглядит так:

      (event: object) => void

      • событие

        объект

        • предотвратить по умолчанию

          пустота

          Вызовите это, чтобы предотвратить отображение контекстного меню.

          Функция preventDefault выглядит так:

          () => {...}

  • создавать

    пустота

    Создает новый пункт контекстного меню. Обратите внимание: если во время создания возникает ошибка, вы можете не узнать об этом до тех пор, пока не сработает обратный вызов создания (подробности будут в runtime.lastError ).

    Функция create выглядит так:

    (createProperties: object, callback?: function) => {...}

    • создать свойства

      объект

      Свойства, использованные для создания элемента

    • перезвонить

      функция необязательна

      Параметр callback выглядит так:

      () => void

    • возвращает

      строка | число

      Идентификатор вновь созданного элемента.

  • удалять

    пустота

    Удаляет пункт контекстного меню.

    Функция remove выглядит так:

    (menuItemId: string | number, callback?: function) => {...}

    • идентификатор менюItemId

      строка | число

      Идентификатор пункта контекстного меню, который нужно удалить.

    • перезвонить

      функция необязательна

      Параметр callback выглядит так:

      () => void

  • удалить все

    пустота

    Удаляет все элементы контекстного меню, добавленные в это webview .

    Функция removeAll выглядит так:

    (callback?: function) => {...}

    • перезвонить

      функция необязательна

      Параметр callback выглядит так:

      () => void

  • обновлять

    пустота

    Обновляет ранее созданный элемент контекстного меню.

    Функция update выглядит так:

    (id: string | number, updateProperties: object, callback?: function) => {...}

    • идентификатор

      строка | число

      Идентификатор элемента, который необходимо обновить.

    • ОбновлениеСвойства

      объект

      Свойства для обновления. Принимает те же значения, что и функция создания.

    • перезвонить

      функция необязательна

      Параметр callback выглядит так:

      () => void

ContextMenuUpdateProperties

Хром 44+

Характеристики

  • проверено

    логическое значение необязательно

    Состояние флажка или переключателя: true для выбранного и false для невыбранного. В данной группе радиоэлементов одновременно можно выбрать только один радиоэлемент.

  • контексты

    [ ContextType , ... ContextType []] необязательно

    Список контекстов, в которых будет отображаться этот пункт меню.

  • ДокументUrlPatterns

    строка[] необязательно

    Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это относится и к фреймам.) Подробную информацию о формате шаблона см. в разделе «Сопоставление шаблонов» .

  • включено

    логическое значение необязательно

    Включен или отключен этот пункт контекстного меню.

  • родительский идентификатор

    строка | номер необязательно

    Идентификатор родительского пункта меню; это делает элемент дочерним по отношению к ранее добавленному элементу. Примечание. Вы не можете сделать элемент дочерним по отношению к одному из своих потомков.

  • таргетурлпаттернс

    строка[] необязательно

    Аналогично documentUrlPatterns, но позволяет фильтровать на основе атрибута src тегов img/audio/video и href тегов привязки.

  • заголовок

    строка необязательна

    Текст, который будет отображаться в элементе

  • тип

    Тип элемента необязательно

    Тип пункта меню.

  • по клику

    аннулировать необязательно

    Функция, которая будет вызываться при нажатии на элемент меню.

    Функция onclick выглядит так:

    (info: OnClickData) => {...}

    • информация

      Информация об элементе, по которому был сделан щелчок, и контексте, в котором произошел щелчок.

ContextType

Хром 44+

Различные контексты, в которых может появляться меню. Указание «все» эквивалентно комбинации всех других контекстов.

Перечисление

"все"

"страница"

"рамка"

"выбор"

"связь"

"редактируемый"

"изображение"

"видео"

"аудио"

DialogController

Интерфейс, привязанный к dialog событиям DOM.

Характеристики

  • отмена

    пустота

    Отклонить диалог. Эквивалентно нажатию кнопки «Отмена» в диалоговом окне confirm или prompt .

    Функция cancel выглядит так:

    () => {...}

  • хорошо

    пустота

    Примите диалог. Эквивалентно нажатию кнопки «ОК» в диалоговом окне alert , confirm или prompt .

    Функция ok выглядит так:

    (response?: string) => {...}

    • ответ

      строка необязательна

      Строка ответа, которую необходимо предоставить гостю при принятии диалогового окна prompt .

DownloadPermissionRequest

Тип объекта request , который сопровождает событие DOM permissionrequest download .

Характеристики

  • запросМетод

    нить

    Тип HTTP-запроса (например, GET ), связанный с запросом на загрузку.

  • URL

    нить

    Запрошенный URL-адрес загрузки.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос разрешения. Это поведение по умолчанию, если allow не вызывается.

    Функция deny выглядит так:

    () => {...}

FileSystemPermissionRequest

Тип объекта request , который сопровождает событие DOM permissionrequest filesystem .

Характеристики

  • URL

    нить

    URL-адрес фрейма, запрашивающего доступ к локальной файловой системе.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос разрешения.

    Функция deny выглядит так:

    () => {...}

FindCallbackResults

Содержит все результаты запроса на поиск.

Характеристики

  • ActiveMatchOrdinal

    число

    Порядковый номер текущего совпадения.

  • отменен

    логическое значение

    Указывает, был ли отменен этот запрос на поиск.

  • количество совпадений

    число

    Количество совпадений searchText на странице.

  • выделениеRect

    Описывает прямоугольник вокруг активного совпадения в экранных координатах.

FindOptions

Варианты запроса на поиск.

Характеристики

  • назад

    логическое значение необязательно

    Флаг для поиска совпадений в обратном порядке. Значение по умолчанию — false .

  • матчКейс

    логическое значение необязательно

    Флаг, соответствующий чувствительности к регистру. Значение по умолчанию — false .

FullscreenPermissionRequest

Хром 43+

Тип объекта request , который сопровождает событие DOM fullscreen permissionrequest .

Характеристики

  • источник

    нить

    Источник кадра внутри webview , который инициировал полноэкранный запрос.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос разрешения.

    Функция deny выглядит так:

    () => {...}

GeolocationPermissionRequest

Тип объекта request , который сопровождает событие DOM permissionrequest geolocation .

Характеристики

  • URL

    нить

    URL-адрес фрейма, запрашивающего доступ к данным геолокации.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос разрешения. Это поведение по умолчанию, если allow не вызывается.

    Функция deny выглядит так:

    () => {...}

HidPermissionRequest

Хром 125+

Тип объекта request , который сопровождает событие DOM hid permissionrequest .

Характеристики

  • URL

    нить

    URL-адрес кадра, запрашивающего доступ к HID API.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос на разрешение. Это поведение по умолчанию, если allow не вызывается.

    Функция deny выглядит так:

    () => {...}

InjectDetails

Подробности скрипта или CSS для внедрения. Должен быть установлен либо код, либо свойство файла, но оба параметра не могут быть установлены одновременно.

Характеристики

  • код

    строка необязательна

    Код JavaScript или CSS для внедрения.

    Предупреждение. Будьте осторожны при использовании параметра code . Неправильное его использование может сделать ваше приложение уязвимым для атак с использованием межсайтовых сценариев .

  • файл

    строка необязательна

    Файл JavaScript или CSS для внедрения.

InjectionItems

Хром 44+

Тип элемента внедрения: код или набор файлов.

Характеристики

  • код

    строка необязательна

    Код JavaScript или CSS для внедрения на соответствующие страницы.

  • файлы

    строка[] необязательно

    Список файлов JavaScript или CSS, которые будут вставлены в соответствующие страницы. Они вводятся в том порядке, в котором они появляются в этом массиве.

LoadPluginPermissionRequest

Тип объекта request , который сопровождает событие DOM permissionrequest loadplugin .

Характеристики

  • идентификатор

    нить

    Строка идентификатора плагина.

  • имя

    нить

    Отображаемое имя плагина.

  • позволять

    пустота

    Разрешите запрос разрешения. Это поведение по умолчанию, если deny не вызывается.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос разрешения.

    Функция deny выглядит так:

    () => {...}

MediaPermissionRequest

Тип объекта request , который сопровождает событие DOM permissionrequest media .

Характеристики

  • URL

    нить

    URL-адрес кадра, запрашивающего доступ к пользовательским медиафайлам.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос разрешения. Это поведение по умолчанию, если allow не вызывается.

    Функция deny выглядит так:

    () => {...}

NewWindow

Интерфейс, привязанный к событиям DOM newwindow .

Характеристики

  • прикреплять

    пустота

    Прикрепите запрошенную целевую страницу к существующему элементу webview .

    Функция attach выглядит так:

    (webview: object) => {...}

    • веб-просмотр

      объект

      Элемент webview , к которому должна быть прикреплена целевая страница.

  • отказаться

    пустота

    Отмените запрос нового окна.

    Функция discard выглядит так:

    () => {...}

PointerLockPermissionRequest

Тип объекта request , который сопровождает событие DOM permissionrequest pointerLock .

Характеристики

  • LastUnlockedBySelf

    логическое значение

    Был ли запрашивающий кадр самым последним клиентом, удерживающим блокировку указателя.

  • URL

    нить

    URL-адрес кадра, запрашивающего блокировку указателя.

  • Пользовательский жест

    логическое значение

    Была ли запрошена блокировка указателя в результате жеста пользовательского ввода.

  • позволять

    пустота

    Разрешите запрос разрешения.

    Функция allow выглядит так:

    () => {...}

  • отрицать

    пустота

    Отклонить запрос на разрешение. Это поведение по умолчанию, если allow не вызывается.

    Функция deny выглядит так:

    () => {...}

SelectionRect

Описывает прямоугольник в экранных координатах.

Семантика включения подобна массиву; то есть координата (left, top) считается содержащейся в прямоугольнике, а координата (left + width, top) — нет.

Характеристики

  • высота

    число

    Высота прямоугольника.

  • левый

    число

    Расстояние от левого края экрана до левого края прямоугольника.

  • вершина

    число

    Расстояние от верхнего края экрана до верхнего края прямоугольника.

  • ширина

    число

    Ширина прямоугольника.

WebRequestEventInterface

Хром 44+

Интерфейс, обеспечивающий доступ к событиям webRequest на гостевой странице. Подробную информацию о жизненном цикле webRequest и связанных с ним понятиях см. в API расширений chrome.webRequest. Примечание. Событие chrome.webRequest.onActionIgnored не поддерживается для веб-просмотров.

Чтобы проиллюстрировать, чем использование отличается от API расширений webRequest, рассмотрим следующий пример кода, который блокирует любые гостевые запросы для URL-адресов, соответствующих *://www.evil.com/* :

webview.request.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]);

Кроме того, этот интерфейс поддерживает декларативные правила webRequest через события onRequest и onMessage . Подробности об API см. в разделе declarativeWebRequest .

Обратите внимание, что условия и действия для декларативных веб-запросов веб-просмотра должны быть созданы из их аналогов chrome.webViewRequest.* . Следующий пример кода декларативно блокирует все запросы к "example.com" в веб-просмотре myWebview :

var rule = {
  conditions: [
    new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
  ],
  actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);

ZoomMode

Хром 43+

Определяет, как масштабирование обрабатывается в webview .

Перечисление

"для каждого происхождения"
Изменения масштаба сохранятся в исходной точке увеличенной страницы, т. е. все другие веб-просмотры в том же разделе, которые перешли к тому же исходному состоянию, также будут увеличены. Более того, изменения масштаба per-origin сохраняются вместе с источником, а это означает, что при переходе к другим страницам в том же источнике все они будут увеличены до одного и того же коэффициента масштабирования.

"за просмотр"
Изменения масштаба вступают в силу только в этом веб-представлении, а изменения масштаба в других веб-представлениях не влияют на масштабирование этого веб-представления. Кроме того, изменения масштаба per-view сбрасываются при навигации; при навигации по веб-просмотру страницы всегда загружаются с коэффициентами масштабирования для каждого источника (в пределах раздела).

"неполноценный"
Отключает любое масштабирование в веб-просмотре. Содержимое вернется к уровню масштабирования по умолчанию, и все попытки изменения масштаба будут игнорироваться.

Характеристики

contentWindow

Ссылка на объект, которую можно использовать для публикации сообщений на гостевой странице.

contextMenus

Хром 44+

Похож на API ContextMenus в Chrome , но применяется к webview , а не к браузеру. Используйте API webview.contextMenus для добавления элементов в контекстное меню webview . Вы можете выбрать, к каким типам объектов будут применяться дополнения контекстного меню, например к изображениям, гиперссылкам и страницам.

request

Интерфейс, обеспечивающий доступ к событиям webRequest на гостевой странице.

Методы

addContentScripts()

Хром 44+
chrome.webviewTag.addContentScripts(
  contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
)

Добавляет правила внедрения сценариев контента в webview . Когда webview переходит на страницу, соответствующую одному или нескольким правилам, будут внедрены связанные сценарии. Вы можете программно добавлять правила или обновлять существующие правила.

В следующем примере в webview добавляются два правила: «myRule» и «anotherRule».

webview.addContentScripts([
  {
    name: 'myRule',
    matches: ['http://www.foo.com/*'],
    css: { files: ['mystyles.css'] },
    js: { files: ['jquery.js', 'myscript.js'] },
    run_at: 'document_start'
  },
  {
    name: 'anotherRule',
    matches: ['http://www.bar.com/*'],
    js: { code: "document.body.style.backgroundColor = 'red';" },
    run_at: 'document_end'
  }]);
 ...

// Navigates webview.
webview.src = 'http://www.foo.com';

Вы можете отложить вызов addContentScripts до тех пор, пока вам не понадобится внедрить скрипты.

В следующем примере показано, как перезаписать существующее правило.

webview.addContentScripts([{
    name: 'rule',
    matches: ['http://www.foo.com/*'],
    js: { files: ['scriptA.js'] },
    run_at: 'document_start'}]);

// Do something.
webview.src = 'http://www.foo.com/*';
 ...
// Overwrite 'rule' defined before.
webview.addContentScripts([{
    name: 'rule',
    matches: ['http://www.bar.com/*'],
    js: { files: ['scriptB.js'] },
    run_at: 'document_end'}]);

Если webview был направлен к источнику (например, foo.com) и вызывает webview.addContentScripts для добавления «myRule», вам нужно дождаться следующей навигации, чтобы внедрить сценарии. Если вам нужна немедленная инъекция, executeScript сделает правильный выбор.

Правила сохраняются, даже если гостевой процесс выходит из строя или завершается, или даже если webview переназначается.

Дополнительные сведения см. в документации по сценариям содержимого .

Параметры

  • контентскриптлист

    Подробная информация о сценариях контента, которые нужно добавить.

back()

chrome.webviewTag.back(
  callback?: function,
)

Переход назад на одну запись истории, если это возможно. Эквивалент go(-1) .

Параметры

  • перезвонить

    функция необязательна

    Хром 44+

    Параметр callback выглядит так:

    (success: boolean) => void

    • успех

      логическое значение

      Указывает, была ли навигация успешной.

canGoBack()

chrome.webviewTag.canGoBack()

Указывает, возможно ли перемещение назад по истории. Состояние этой функции кэшируется и обновляется перед каждым loadcommit , поэтому лучшее место для ее вызова — loadcommit .

Возврат

  • логическое значение

canGoForward()

chrome.webviewTag.canGoForward()

Указывает, можно ли перемещаться вперед по истории. Состояние этой функции кэшируется и обновляется перед каждым loadcommit , поэтому лучшее место для ее вызова — loadcommit .

Возврат

  • логическое значение

captureVisibleRegion()

Хром 50+
chrome.webviewTag.captureVisibleRegion(
  options?: ImageDetails,
  callback: function,
)

Захватывает видимую область веб-просмотра.

Параметры

  • параметры

    Детали изображения необязательно

  • перезвонить

    функция

    Параметр callback выглядит так:

    (dataUrl: string) => void

    • URL-адрес данных

      нить

      URL-адрес данных, который кодирует изображение видимой области захваченной вкладки. Может быть назначен свойству 'src' элемента изображения HTML для отображения.

clearData()

chrome.webviewTag.clearData(
  options: ClearDataOptions,
  types: ClearDataTypeSet,
  callback?: function,
)

Очищает данные просмотра для раздела webview .

Параметры

  • параметры

    Параметры, определяющие, какие данные следует очистить.

  • Типы данных, подлежащих удалению.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

executeScript()

chrome.webviewTag.executeScript(
  details: InjectDetails,
  callback?: function,
)

Внедряет код JavaScript на гостевую страницу.

В следующем примере кода используется внедрение сценария, чтобы установить красный цвет фона гостевой страницы:

webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });

Параметры

  • подробности

    Подробности сценария для запуска.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (result?: any[]) => void

    • результат

      любой[] необязательно

      Результат скрипта в каждом внедренном кадре.

find()

chrome.webviewTag.find(
  searchText: string,
  options?: FindOptions,
  callback?: function,
)

Инициирует запрос поиска на странице.

Параметры

  • поискТекст

    нить

    Строка, которую нужно найти на странице.

  • параметры

    Найти параметры необязательно

    Варианты запроса на поиск.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (results?: FindCallbackResults) => void

    • результаты

      FindCallbackResults необязательно

      Содержит все результаты запроса на поиск. results могут быть опущены, если они не используются в теле функции обратного вызова; например, если обратный вызов используется только для определения момента завершения запроса на поиск.

forward()

chrome.webviewTag.forward(
  callback?: function,
)

Если возможно, перемещается вперед на одну запись истории. Эквивалент go(1) .

Параметры

  • перезвонить

    функция необязательна

    Хром 44+

    Параметр callback выглядит так:

    (success: boolean) => void

    • успех

      логическое значение

      Указывает, была ли навигация успешной.

getAudioState()

Хром 62+
chrome.webviewTag.getAudioState(
  callback: function,
)

Запрашивает состояние звука.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (audible: boolean) => void

    • слышимый

      логическое значение

getProcessId()

chrome.webviewTag.getProcessId()

Возвращает внутренний идентификатор процесса Chrome для текущего процесса гостевой веб-страницы, что позволяет специалистам по внедрению узнать, сколько гостей затронет завершение процесса. Два гостя будут совместно использовать процесс только в том случае, если они принадлежат к одному приложению и имеют одинаковый идентификатор раздела хранилища . Вызов является синхронным и возвращает кэшированное представление средства внедрения текущего идентификатора процесса. Идентификатор процесса не совпадает с идентификатором процесса операционной системы.

Возврат

  • число

getUserAgent()

chrome.webviewTag.getUserAgent()

Возвращает строку пользовательского агента, используемую webview для запросов гостевой страницы.

Возврат

  • нить

getZoom()

chrome.webviewTag.getZoom(
  callback: function,
)

Получает текущий коэффициент масштабирования.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (zoomFactor: number) => void

    • ZoomFactor

      число

      Текущий коэффициент масштабирования.

getZoomMode()

Хром 43+
chrome.webviewTag.getZoomMode(
  callback: function,
)

Получает текущий режим масштабирования.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (ZoomMode: ZoomMode) => void

go()

chrome.webviewTag.go(
  relativeIndex: number,
  callback?: function,
)

Переход к записи истории с использованием индекса истории относительно текущей навигации. Если запрошенная навигация невозможна, этот метод не имеет эффекта.

Параметры

  • относительныйиндекс

    число

    Относительный индекс истории, к которому следует перейти webview . Например, значение 2 будет, если возможно, переходить на 2 записи истории вперед; значение -3 приведет к переходу на 3 записи назад.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (success: boolean) => void

    • успех

      логическое значение

      Указывает, была ли навигация успешной.

insertCSS()

chrome.webviewTag.insertCSS(
  details: InjectDetails,
  callback?: function,
)

Внедряет CSS на гостевую страницу.

Параметры

  • подробности

    Подробности CSS для вставки.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

isAudioMuted()

Хром 62+
chrome.webviewTag.isAudioMuted(
  callback: function,
)

Запрашивает, отключен ли звук.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (muted: boolean) => void

    • приглушенный

      логическое значение

isSpatialNavigationEnabled()

Хром 71+
chrome.webviewTag.isSpatialNavigationEnabled(
  callback: function,
)

Запрашивает, включена ли пространственная навигация для веб-просмотра.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (enabled: boolean) => void

    • включено

      логическое значение

isUserAgentOverridden()

chrome.webviewTag.isUserAgentOverridden()

Указывает, была ли строка пользовательского агента webview переопределена с помощью webviewTag.setUserAgentOverride .

loadDataWithBaseUrl()

chrome.webviewTag.loadDataWithBaseUrl(
  dataUrl: string,
  baseUrl: string,
  virtualUrl?: string,
)

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

Параметры

  • URL-адрес данных

    нить

    URL-адрес данных для загрузки.

  • базовый URL-адрес

    нить

    Базовый URL-адрес, который будет использоваться для относительных ссылок.

  • виртуальный URL

    строка необязательна

    URL-адрес, который будет отображаться пользователю (в адресной строке).

print()

chrome.webviewTag.print()

Печатает содержимое webview . Это эквивалентно вызову скриптовой функции печати из самого webview .

reload()

chrome.webviewTag.reload()

Перезагружает текущую страницу верхнего уровня.

removeContentScripts()

Хром 44+
chrome.webviewTag.removeContentScripts(
  scriptNameList?: string[],
)

Удаляет сценарии содержимого из webview .

В следующем примере удаляется добавленное ранее «myRule».

webview.removeContentScripts(['myRule']);

Вы можете удалить все правила, вызвав:

webview.removeContentScripts();

Параметры

  • список имен скриптов

    строка[] необязательно

    Список названий сценариев содержимого, которые будут удалены. Если список пуст, все сценарии содержимого, добавленные в webview будут удалены.

setAudioMuted()

Хром 62+
chrome.webviewTag.setAudioMuted(
  mute: boolean,
)

Устанавливает состояние отключения звука в веб-просмотре.

Параметры

  • немой

    логическое значение

    Значение отключения звука

setSpatialNavigationEnabled()

Хром 71+
chrome.webviewTag.setSpatialNavigationEnabled(
  enabled: boolean,
)

Устанавливает состояние пространственной навигации веб-просмотра.

Параметры

  • включено

    логическое значение

    Значение состояния пространственной навигации.

setUserAgentOverride()

chrome.webviewTag.setUserAgentOverride(
  userAgent: string,
)

Переопределить строку пользовательского агента, используемую webview для запросов гостевой страницы. Переопределение приведет к тому, что значения заголовка User-Agent Client Hint и значения, возвращаемые navigator.userAgentData станут пустыми для запросов гостевой страницы, к которым применяется это переопределение.

Параметры

  • пользовательский агент

    нить

    Используемая строка пользовательского агента.

setZoom()

chrome.webviewTag.setZoom(
  zoomFactor: number,
  callback?: function,
)

Изменяет коэффициент масштабирования страницы. Объем и постоянство этого изменения определяются текущим режимом масштабирования веб-просмотра (см. webviewTag.ZoomMode ).

Параметры

  • ZoomFactor

    число

    Новый коэффициент масштабирования.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

setZoomMode()

Хром 43+
chrome.webviewTag.setZoomMode(
  ZoomMode: ZoomMode,
  callback?: function,
)

Устанавливает режим масштабирования webview .

Параметры

  • Режим масштабирования

    Определяет, как масштабирование обрабатывается в webview .

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

stop()

chrome.webviewTag.stop()

Останавливает загрузку текущей навигации webview , если она выполняется.

stopFinding()

chrome.webviewTag.stopFinding(
  action?: "clear"
 | "keep"
 | "activate"
,
)

Завершает текущий сеанс поиска (очищая все выделения) и отменяет все текущие запросы поиска.

Параметры

  • действие

    "прозрачный"
    | "держать"
    | "активировать"
    необязательный

    Определяет, что делать с активным совпадением после завершения сеанса поиска. clear очистит выделение активного совпадения; keep сохранит активное совпадение выделенным; activate сохранит активное совпадение выделенным и имитирует щелчок пользователя по этому совпадению. Действие по умолчанию — keep .

terminate()

chrome.webviewTag.terminate()

Принудительно завершает процесс рендеринга гостевой веб-страницы. Это может повлиять на несколько тегов webview в текущем приложении, если они используют один и тот же процесс, но не повлияет на теги webview в других приложениях.

События

close

chrome.webviewTag.close.addListener(
  callback: function,
)

Вызывается, когда гостевое окно пытается закрыться.

Следующий пример кода перемещает webview по about:blank когда гость пытается закрыться.

webview.addEventListener('close', function() {
  webview.src = 'about:blank';
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    () => void

consolemessage

chrome.webviewTag.consolemessage.addListener(
  callback: function,
)

Вызывается, когда гостевое окно регистрирует консольное сообщение.

В следующем примере кода все сообщения журнала пересылаются на консоль внедрителя без учета уровня журнала или других свойств.

webview.addEventListener('consolemessage', function(e) {
  console.log('Guest page logged a message: ', e.message);
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (level: number, message: string, line: number, sourceId: string) => void

    • уровень

      число

    • сообщение

      нить

    • линия

      число

    • идентификатор источника

      нить

contentload

chrome.webviewTag.contentload.addListener(
  callback: function,
)

Вызывается, когда гостевое окно генерирует событие load , т. е. когда загружается новый документ. Сюда не входит навигация по страницам текущего документа или асинхронная загрузка ресурсов.

Следующий пример кода изменяет размер шрифта по умолчанию для элемента body гостя после загрузки страницы:

webview.addEventListener('contentload', function() {
  webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    () => void

dialog

chrome.webviewTag.dialog.addListener(
  callback: function,
)

Вызывается, когда гостевое окно пытается открыть модальное диалоговое окно через window.alert , window.confirm или window.prompt .

Обработка этого события блокирует гостевой процесс до тех пор, пока не вернется каждый прослушиватель событий или пока объект dialog не станет недоступным (если был вызван preventDefault() ).

Поведение по умолчанию — отмена диалога.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (messageType: "alert" 
     | "confirm"
     | "prompt"
    , messageText: string, dialog: DialogController) => void

    • тип сообщения

      "тревога"
      | "подтверждать"
      | "быстрый"

    • сообщениеТекст

      нить

exit

chrome.webviewTag.exit.addListener(
  callback: function,
)

Запускается, когда процесс рендеринга гостевого веб-контента завершился.

Следующий пример кода будет отображать прощальное сообщение при каждом сбое гостевой страницы:

webview.addEventListener('exit', function(e) {
  if (e.reason === 'crash') {
    webview.src = 'data:text/plain,Goodbye, world!';
  }
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (processID: number, reason: "normal" 
     | "abnormal"
     | "crash"
     | "kill"
    ) => void

    • идентификатор процесса

      число

    • причина

      "нормальный"
      | "аномальный"
      | "крушение"
      | "убийство"

findupdate

chrome.webviewTag.findupdate.addListener(
  callback: function,
)

Вызывается, когда для активного запроса поиска доступны новые результаты поиска. Это может произойти несколько раз для одного запроса на поиск по мере обнаружения совпадений.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void

    • поискТекст

      нить

    • количество совпадений

      число

    • ActiveMatchOrdinal

      число

    • выборRect
    • отменен

      логическое значение

    • окончательное обновление

      нить

loadabort

chrome.webviewTag.loadabort.addListener(
  callback: function,
)

Вызывается, когда загрузка верхнего уровня прервалась без фиксации. Сообщение об ошибке будет выведено на консоль, если событие не предотвращено по умолчанию.

Примечание. Когда загрузка ресурса прерывается, за событием loadabort в конечном итоге последует событие loadstop , даже если все зафиксированные загрузки с момента последнего события loadstop (если таковое было) были прерваны.

Примечание. Когда загрузка URL-адреса «About» или URL-адреса JavaScript прерывается, будет запущена loadabort , а затем webview перейдет к «about:blank».

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (url: string, isTopLevel: boolean, code: number, reason: "ERR_ABORTED" 
     | "ERR_INVALID_URL"
     | "ERR_DISALLOWED_URL_SCHEME"
     | "ERR_BLOCKED_BY_CLIENT"
     | "ERR_ADDRESS_UNREACHABLE"
     | "ERR_EMPTY_RESPONSE"
     | "ERR_FILE_NOT_FOUND"
     | "ERR_UNKNOWN_URL_SCHEME"
    ) => void

    • URL

      нить

    • isTopLevel

      логическое значение

    • код

      число

    • причина

      "ERR_ABORTED"
      | "ERR_INVALID_URL"
      | "ERR_DISALLOWED_URL_SCHEME"
      | "ERR_BLOCKED_BY_CLIENT"
      | "ERR_ADDRESS_UNREACHABLE"
      | "ERR_EMPTY_RESPONSE"
      | "ERR_FILE_NOT_FOUND"
      | "ERR_UNKNOWN_URL_SCHEME"

loadcommit

chrome.webviewTag.loadcommit.addListener(
  callback: function,
)

Запускается, когда загрузка зафиксирована. Сюда входит навигация внутри текущего документа, а также загрузка на уровне документа подкадра, но не включается асинхронная загрузка ресурсов.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (url: string, isTopLevel: boolean) => void

    • URL

      нить

    • isTopLevel

      логическое значение

loadredirect

chrome.webviewTag.loadredirect.addListener(
  callback: function,
)

Запускается, когда запрос загрузки верхнего уровня перенаправляется на другой URL-адрес.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (oldUrl: string, newUrl: string, isTopLevel: boolean) => void

    • старый URL

      нить

    • новый URL

      нить

    • isTopLevel

      логическое значение

loadstart

chrome.webviewTag.loadstart.addListener(
  callback: function,
)

Срабатывает, когда началась загрузка.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (url: string, isTopLevel: boolean) => void

    • URL

      нить

    • isTopLevel

      логическое значение

loadstop

chrome.webviewTag.loadstop.addListener(
  callback: function,
)

Запускается, когда все загрузки на уровне фрейма на гостевой странице (включая все ее подкадры) завершены. Сюда входит навигация внутри текущего документа, а также загрузка на уровне документа подкадра, но не включается асинхронная загрузка ресурсов. Это событие срабатывает каждый раз, когда количество загрузок на уровне документа переходит от одного (или более) к нулю. Например, если страница, которая уже завершила загрузку (т. е. loadstop уже запущен один раз), создает новый iframe, который загружает страницу, то второй loadstop сработает, когда загрузка страницы iframe завершится. Эта закономерность обычно наблюдается на страницах, на которых загружается реклама.

Примечание. Когда зафиксированная загрузка прерывается, событие loadstop в конечном итоге следует за событием loadabort , даже если все зафиксированные загрузки с момента последнего события loadstop (если таковое было) были прерваны.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    () => void

newwindow

chrome.webviewTag.newwindow.addListener(
  callback: function,
)

Вызывается, когда гостевая страница пытается открыть новое окно браузера.

В следующем примере кода будет создано новое webview и навигация по нему в средстве внедрения для каждого запрошенного нового окна:

webview.addEventListener('newwindow', function(e) {
  var newWebview = document.createElement('webview');
  document.body.appendChild(newWebview);
  e.window.attach(newWebview);
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: "ignore" 
     | "save_to_disk"
     | "current_tab"
     | "new_background_tab"
     | "new_foreground_tab"
     | "new_window"
     | "new_popup"
    ) => void

    • целевой URL

      нить

    • начальная ширина

      число

    • начальная высота

      число

    • имя

      нить

    • окноOpenDisposition

      "игнорировать"
      | "сохранить_на_диск"
      | "current_tab"
      | "new_background_tab"
      | "new_foreground_tab"
      | "новое_окно"
      | "новое_попап"

permissionrequest

chrome.webviewTag.permissionrequest.addListener(
  callback: function,
)

Запускается, когда гостевой странице необходимо запросить специальное разрешение у встраивателя.

Следующий пример кода предоставит гостевой странице доступ к API webkitGetUserMedia . Обратите внимание, что приложение, использующее этот пример кода, само должно указать разрешения манифеста audioCapture и/или videoCapture :

webview.addEventListener('permissionrequest', function(e) {
  if (e.permission === 'media') {
    e.request.allow();
  }
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (permission: "media" 
     | "geolocation"
     | "pointerLock"
     | "download"
     | "loadplugin"
     | "filesystem"
     | "fullscreen"
     | "hid"
    , request: object) => void

    • разрешение

      "СМИ"
      | "геолокация"
      | "указательLock"
      | "скачать"
      | "loadplugin"
      | "файловая система"
      | "полноэкранный"
      | "спрятался"

    • запрос

      объект

responsive

chrome.webviewTag.responsive.addListener(
  callback: function,
)

Запускается, когда процесс рендеринга гостевого веб-контента снова стал отвечать после того, как не отвечал.

В следующем примере кода элемент webview будет постепенно появляться или исчезать по мере того, как он становится отзывчивым или перестает отвечать на запросы:

webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
  webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
  webview.style.opacity = '1';
});

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (processID: number) => void

    • идентификатор процесса

      число

sizechanged

chrome.webviewTag.sizechanged.addListener(
  callback: function,
)

Вызывается, когда размер встроенного веб-контента был изменен с помощью autosize . Срабатывает только в том случае, если включен autosize .

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void

    • старая ширина

      число

    • стараявысота

      число

    • новаяширина

      число

    • новаяВысота

      число

unresponsive

chrome.webviewTag.unresponsive.addListener(
  callback: function,
)

Запускается, когда процесс рендеринга гостевого веб-контента перестает отвечать на запросы. Это событие будет сгенерировано один раз с соответствующим ответным событием, если гость снова начнет отвечать.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (processID: number) => void

    • идентификатор процесса

      число

zoomchange

chrome.webviewTag.zoomchange.addListener(
  callback: function,
)

Вызывается при изменении масштаба страницы.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит так:

    (oldZoomFactor: number, newZoomFactor: number) => void

    • старыйZoomFactor

      число

    • новыйZoomFactor

      число