Описание
Используйте тег 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
Подробная информация о скрипте контента для внедрения. Подробнее см. в документации по скриптам контента .
Характеристики
- все_фреймы
логическое необязательное
Если
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
Характеристики
- проверено
логическое необязательное
Начальное состояние флажка или радиоэлемента: 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
Характеристики
- 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) => {...}
строка | число
Идентификатор пункта контекстного меню, который необходимо удалить.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
- удалить все
пустота
Удаляет все пункты контекстного меню, добавленные в это
webview
.Функция
removeAll
выглядит так:(callback?: function) => {...}
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
- обновлять
пустота
Обновляет ранее созданный пункт контекстного меню.
Функция
update
выглядит так:(id: string | number, updateProperties: object, callback?: function) => {...}
- идентификатор
строка | число
Идентификатор обновляемого элемента.
- updateProperties
объект
Свойства для обновления. Принимает те же значения, что и функция create.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
ContextMenuUpdateProperties
Характеристики
- проверено
логическое необязательное
Состояние флажка или радиоэлемента: true — выбрано, false — не выбрано. В данной группе радиоэлементов одновременно может быть выбран только один радиоэлемент.
- контексты
[ ContextType , ... ContextType []] необязательно
Список контекстов, в которых будет отображаться этот пункт меню.
- documentUrlPatterns
строка[] необязательная
Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это также применимо к фреймам.) Подробную информацию о формате шаблона см. в разделе Шаблоны соответствия .
- включено
логическое необязательное
Включен или отключен этот пункт контекстного меню.
- parentId
строка | число необязательно
Идентификатор родительского пункта меню; это делает пункт дочерним по отношению к ранее добавленному пункту. Примечание: невозможно сделать пункт дочерним по отношению к одному из его собственных потомков.
- targetUrlPatterns
строка[] необязательная
Аналогично documentUrlPatterns, но позволяет фильтровать по атрибуту
src
тегов img/audio/video иhref
тегов привязки. - заголовок
строка необязательная
Текст, который будет отображаться в элементе
- тип
ItemType необязательный
Тип пункта меню.
- по клику
необязательный
Функция, которая будет вызвана при щелчке по пункту меню.
Функция
onclick
выглядит так:(info: OnClickData) => {...}
- информация
Информация о нажатом элементе и контексте, в котором произошел щелчок.
ContextType
Различные контексты, в которых может появляться меню. Указание «все» эквивалентно комбинации всех других контекстов.
Перечисление
"все" "страница" "рамка" "выбор" "связь" "редактируемый" "изображение" "видео" "аудио"
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
Тип объекта request
, который сопровождает событие DOM permissionrequest
fullscreen
разрешение.
Характеристики
- источник
нить
Источник фрейма внутри
webview
, инициировавшего полноэкранный запрос. - позволять
пустота
Разрешите запрос на разрешение.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос на разрешение.
Функция
deny
выглядит так:() => {...}
GeolocationPermissionRequest
Тип объекта request
, который сопровождает событие DOM permissionrequest
geolocation
.
Характеристики
- URL-адрес
нить
URL-адрес фрейма, запрашивающего доступ к данным геолокации.
- позволять
пустота
Разрешите запрос на разрешение.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос на разрешение. Это поведение по умолчанию, если не вызвана
allow
.Функция
deny
выглядит так:() => {...}
HidPermissionRequest
Тип объекта request
, который сопровождает событие DOM hid
permissionrequest
.
Характеристики
- URL-адрес
нить
URL-адрес фрейма, запрашивающего доступ к HID API.
- позволять
пустота
Разрешите запрос на разрешение.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос на разрешение. Это поведение по умолчанию, если не вызвана
allow
.Функция
deny
выглядит так:() => {...}
InjectDetails
Подробная информация о скрипте или CSS для внедрения. Необходимо задать либо код, либо свойство файла, но оба одновременно задать нельзя.
Характеристики
- код
строка необязательная
Код JavaScript или CSS для внедрения.
Внимание: Будьте осторожны с параметром
code
. Неправильное его использование может сделать ваше приложение уязвимым для атак с использованием межсайтового скриптинга . - файл
строка необязательная
Файл JavaScript или CSS для внедрения.
InjectionItems
Тип элемента инъекции: код или набор файлов.
Характеристики
- код
строка необязательная
Код 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
Интерфейс, предоставляющий доступ к событиям 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
Определяет, как обрабатывается масштабирование в webview
.
Перечисление
"по происхождению" "за просмотр" "неполноценный"
Изменения масштаба сохранятся в исходном положении увеличенной страницы, то есть все остальные веб-представления в том же разделе, которые перенаправлены на это же исходное положение, также будут масштабированы. Более того, изменения масштаба per-origin
сохраняются вместе с исходным положением, что означает, что при переходе на другие страницы в том же исходном положении все они будут масштабированы с одинаковым коэффициентом масштабирования.
Изменения масштаба применяются только к данному веб-представлению, и изменения масштаба в других веб-представлениях не повлияют на масштабирование данного веб-представления. Кроме того, изменения масштаба per-view
сбрасываются при навигации; при навигации по веб-представлению страницы всегда загружаются с коэффициентами масштабирования для каждого источника (в пределах раздела).
Отключает масштабирование в веб-просмотре. Содержимое вернется к уровню масштабирования по умолчанию, а все попытки изменить масштаб будут игнорироваться.
Характеристики
contentWindow
Ссылка на объект, которую можно использовать для публикации сообщений на гостевой странице.
Тип
contextMenus
Аналогично ContextMenus API Chrome , но применяется к webview
, а не к браузеру. Используйте API webview.contextMenus
для добавления пунктов в контекстное меню webview
. Вы можете выбрать типы объектов, к которым будут применяться дополнения в контекстном меню, например, изображения, гиперссылки и страницы.
Тип
request
Интерфейс, обеспечивающий доступ к событиям webRequest на гостевой странице.
Методы
addContentScripts()
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
[ ContentScriptDetails , ... ContentScriptDetails []]
Подробная информация о сценариях контента, которые необходимо добавить.
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()
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()
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()
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()
chrome.webviewTag.isAudioMuted(
callback: function,
): void
Проверяет, отключен ли звук.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(muted: boolean) => void
- приглушенный
булев
isSpatialNavigationEnabled()
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()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
): void
Удаляет скрипты содержимого из webview
.
В следующем примере удаляется «myRule», добавленный ранее.
webview.removeContentScripts(['myRule']);
Вы можете удалить все правила, вызвав:
webview.removeContentScripts();
Параметры
- scriptNameList
строка[] необязательная
Список имён скриптов контента, которые будут удалены. Если список пуст, все скрипты контента, добавленные в
webview
будут удалены.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
): void
Устанавливает состояние отключения звука веб-просмотра.
Параметры
- немой
булев
Отключить звук
setSpatialNavigationEnabled()
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()
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()
).
По умолчанию диалог отменяется.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(messageType: DialogMessageType, messageText: string, dialog: DialogController) => void
- messageType
- текст сообщения
нить
- диалог
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
- окно
- targetUrl
нить
- начальная ширина
число
- начальная высота
число
- имя
нить
- windowOpenDisposition
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
число