chrome.webviewTag

Описание

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

Разрешения

webview

Типы

ClearDataOptions

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

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

  • с

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

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

ClearDataTypeSet

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

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

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

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

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

  • кэш

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

    Хром 44+

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

  • печенье

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

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

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

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

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

  • indexedDB

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

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

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

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

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

  • persistentCookies

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

    Хром 58+

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

  • sessionCookies

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

    Хром 58+

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

  • webSQL

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

    Данные 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

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

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

  • postMessage

    пустота

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

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

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

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

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

    • сообщение

      любой

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

    • targetOrigin

      нить

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

ContextMenuCreateProperties

Хром 44+

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

  • проверено

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

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

  • контексты

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

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

  • documentUrlPatterns

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

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

  • включено

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

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

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

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

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

  • parentId

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

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

  • targetUrlPatterns

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

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

  • заголовок

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

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

  • тип

    ItemType необязательный

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

  • по клику

    необязательный

    Функция, которая будет вызвана при щелчке по пункту меню.

    Функция 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) => {...}

    • createProperties

      объект

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

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

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

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

      () => void

    • возвращается

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

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

  • удалять

    пустота

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

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

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

    • menuItemId

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

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

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

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

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

      () => void

  • удалить все

    пустота

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

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

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

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

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

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

      () => void

  • обновлять

    пустота

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

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

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

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

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

      Идентификатор обновляемого элемента.

    • updateProperties

      объект

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

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

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

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

      () => void

ContextMenuUpdateProperties

Хром 44+

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

  • проверено

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

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

  • контексты

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

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

  • documentUrlPatterns

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

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

  • включено

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

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

  • parentId

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

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

  • targetUrlPatterns

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

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

  • заголовок

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

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

  • тип

    ItemType необязательный

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

  • по клику

    необязательный

    Функция, которая будет вызвана при щелчке по пункту меню.

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

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

    • информация

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

ContextType

Хром 44+

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

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

"все"

"страница"

"рамка"

"выбор"

"связь"

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

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

"видео"

"аудио"

DialogController

Интерфейс, подключенный к событиям dialog DOM.

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

  • отмена

    пустота

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

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

    () => {...}

  • хорошо

    пустота

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

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

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

    • ответ

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

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

DialogMessageType

В ожидании

Тип модального диалога, запрошенный гостем.

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

"тревога"

"подтверждать"

"быстрый"

DownloadPermissionRequest

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

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

  • requestMethod

    нить

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

  • URL-адрес

    нить

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

  • позволять

    пустота

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

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

    () => {...}

  • отрицать

    пустота

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

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

    () => {...}

ExitReason

В ожидании

Строка, указывающая причину выхода.

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

"нормальный"

"аномальный"

"разбился"

"убит"

"ум убит"

"ум"

"не удалось запустить"

«нарушение целостности»

FileSystemPermissionRequest

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

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

  • URL-адрес

    нить

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

  • позволять

    пустота

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

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

    () => {...}

  • отрицать

    пустота

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

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

    () => {...}

FindCallbackResults

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

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

  • activeMatchOrdinal

    число

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

  • отменено

    булев

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

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

    число

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

  • выделениеRect

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

FindOptions

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

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

  • назад

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

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

  • matchCase

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

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

FullscreenPermissionRequest

Хром 43+

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

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

  • источник

    нить

    Источник фрейма внутри 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 для внедрения на соответствующие страницы. Они внедряются в том порядке, в котором они указаны в этом массиве.

LoadAbortReason

В ожидании

Строка, указывающая тип произошедшего прерывания. Обратная совместимость этой строки между выпусками не гарантируется. Не следует анализировать её содержимое и предпринимать какие-либо действия на его основе. Также возможно возникновение ошибки, не указанной здесь.

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

"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"

LoadPluginPermissionRequest

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

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

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

    нить

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

  • имя

    нить

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

  • позволять

    пустота

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

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

    () => {...}

  • отрицать

    пустота

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

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

    () => {...}

MediaPermissionRequest

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

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

  • URL-адрес

    нить

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

  • позволять

    пустота

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

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

    () => {...}

  • отрицать

    пустота

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

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

    () => {...}

NewWindow

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

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

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

    пустота

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

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

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

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

      объект

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

  • отказаться

    пустота

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

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

    () => {...}

PermissionType

В ожидании

Тип запрашиваемого разрешения.

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

"СМИ"

"геолокация"

"pointerLock"

"скачать"

"loadplugin"

"файловая система"

"полноэкранный"

"спрятался"

PointerLockPermissionRequest

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

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

  • lastUnlockedBySelf

    булев

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

  • URL-адрес

    нить

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

  • userGesture

    булев

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

  • позволять

    пустота

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

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

    () => {...}

  • отрицать

    пустота

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

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

    () => {...}

SelectionRect

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

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

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

  • высота

    число

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

  • левый

    число

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

  • вершина

    число

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

  • ширина

    число

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

StopFindingAction

В ожидании

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

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

"прозрачный"

"держать"

"активировать"

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 .

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

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

WindowOpenDisposition

В ожидании

Запрошенное расположение нового окна.

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

"игнорировать"

"сохранить_на_диск"

"текущая_вкладка"

"новая_фоновая_вкладка"

"new_foreground_tab"

"новое_окно"

"new_popup"

ZoomMode

Хром 43+

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

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

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

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

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

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

contentWindow

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

contextMenus

Хром 44+

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

Тип

request

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

Методы

addContentScripts()

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

Добавляет правила внедрения скриптов контента в 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 .

Более подробную информацию см. в документации по скриптам контента .

Параметры

  • contentScriptList

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

back()

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

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

Параметры

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

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

    Хром 44+

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

    (success: boolean) => void

    • успех

      булев

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

canGoBack()

chrome.webviewTag.canGoBack(): boolean

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

Возврат

  • булев

canGoForward()

chrome.webviewTag.canGoForward(): boolean

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

Возврат

  • булев

captureVisibleRegion()

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

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

Параметры

  • параметры

    ImageDetails (необязательно)

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

    функция

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

    (dataUrl: string) => void

    • dataUrl

      нить

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

clearData()

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

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

Параметры

  • параметры

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

  • Типы данных, подлежащих очистке.

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

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

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

    () => void

executeScript()

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

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

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

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

Параметры

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

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

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

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

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

    (result?: any[]) => void

    • результат

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

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

find()

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

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

Параметры

  • searchText

    нить

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

  • параметры

    FindOptions необязательный

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

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

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

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

    (results?: FindCallbackResults) => void

    • результаты

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

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

forward()

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

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

Параметры

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

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

    Хром 44+

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

    (success: boolean) => void

    • успех

      булев

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

getAudioState()

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

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

Параметры

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

    функция

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

    (audible: boolean) => void

    • слышимый

      булев

getProcessId()

chrome.webviewTag.getProcessId(): number

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

Возврат

  • число

getUserAgent()

chrome.webviewTag.getUserAgent(): string

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

Возврат

  • нить

getZoom()

chrome.webviewTag.getZoom(
  callback: function,
)
: void

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

Параметры

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

    функция

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

    (zoomFactor: number) => void

    • zoomFactor

      число

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

getZoomMode()

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

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

Параметры

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

    функция

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

    (ZoomMode: ZoomMode) => void

    • ZoomMode

      Текущий режим масштабирования webview .

go()

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

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

Параметры

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

    число

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

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

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

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

    (success: boolean) => void

    • успех

      булев

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

insertCSS()

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

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

Параметры

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

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

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

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

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

    () => void

isAudioMuted()

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

Проверяет, отключен ли звук.

Параметры

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

    функция

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

    (muted: boolean) => void

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

      булев

isSpatialNavigationEnabled()

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

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

Параметры

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

    функция

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

    (enabled: boolean) => void

    • включено

      булев

isUserAgentOverridden()

chrome.webviewTag.isUserAgentOverridden(): void

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

loadDataWithBaseUrl()

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

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

Параметры

  • dataUrl

    нить

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

  • baseUrl

    нить

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

  • virtualUrl

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

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

print()

chrome.webviewTag.print(): void

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

reload()

chrome.webviewTag.reload(): void

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

removeContentScripts()

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

Удаляет скрипты содержимого из webview .

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

webview.removeContentScripts(['myRule']);

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

webview.removeContentScripts();

Параметры

  • scriptNameList

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

    Список имён скриптов контента, которые будут удалены. Если список пуст, все скрипты контента, добавленные в webview будут удалены.

setAudioMuted()

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

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

Параметры

  • немой

    булев

    Отключить звук

setSpatialNavigationEnabled()

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

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

Параметры

  • включено

    булев

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

setUserAgentOverride()

chrome.webviewTag.setUserAgentOverride(
  userAgent: string,
)
: void

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

Параметры

  • userAgent

    нить

    Строка пользовательского агента, которую следует использовать.

setZoom()

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

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

Параметры

  • zoomFactor

    число

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

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

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

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

    () => void

setZoomMode()

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

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

Параметры

  • ZoomMode

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

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

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

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

    () => void

stop()

chrome.webviewTag.stop(): void

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

stopFinding()

chrome.webviewTag.stopFinding(
  action?: StopFindingAction,
)
: void

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

Параметры

  • действие

    StopFindingAction (опционально)

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

terminate()

chrome.webviewTag.terminate(): void

Принудительно завершает процесс рендеринга гостевой веб-страницы. Это может повлиять на несколько тегов 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

    • уровень

      число

    • сообщение

      нить

    • линия

      число

    • sourceId

      нить

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() ).

По умолчанию диалог отменяется.

Параметры

exit

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

Срабатывает при завершении процесса рендеринга гостевого веб-контента.

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

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

Параметры

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

    функция

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

    (details: object) => void

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

      объект

      • processID

        число

        Внутренний идентификатор Chrome завершившегося процесса.

      • причина

        Строка, указывающая причину выхода.

findupdate

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

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

Параметры

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

    функция

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

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

    • searchText

      нить

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

      число

    • activeMatchOrdinal

      число

    • выделениеRect
    • отменено

      булев

    • финальное обновление

      нить

loadabort

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

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

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

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

Параметры

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

    функция

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

    (url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void

    • URL-адрес

      нить

    • isTopLevel

      булев

    • код

      число

    • причина

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: WindowOpenDisposition) => void

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: PermissionType, request: object) => void

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

    • processID

      число

sizechanged

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

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

Параметры

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

    функция

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

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

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

      число

    • oldHeight

      число

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

      число

    • newHeight

      число

unresponsive

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

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

Параметры

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

    функция

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

    (processID: number) => void

    • processID

      число

zoomchange

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

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

Параметры

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

    функция

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

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

    • oldZoomFactor

      число

    • новыйZoomFactor

      число