Описание
Используйте тег webview, чтобы загружать контент из интернета и встраивать его в приложение Chrome. Приложение может управлять внешним видом тега webview и взаимодействовать с веб-контентом, инициировать навигацию на встроенной веб-странице, реагировать на ошибки, которые на ней возникают, и выполнять другие действия (см. раздел Использование).
Разрешения
webviewДоступность
Типы
ClearDataOptions
Параметры, определяющие, какие данные должны быть удалены с помощью clearData.
Свойства
-
с
number (необязательно)
Удалить данные, накопленные в эту дату или после нее. Дата указывается в миллисекундах, прошедших с начала эпохи (доступ к ней можно получить с помощью метода getTime объекта JavaScript
Date). Если значение не задано, по умолчанию используется0(удаляются все данные о работе в браузере).
ClearDataTypeSet
Набор типов данных. Отсутствующие свойства интерпретируются как false.
Свойства
-
appcache
Логическое значение (необязательно)
Кеши приложений сайтов.
-
Кешировать
Логическое значение (необязательно)
Chrome 44 и более поздних версий;Начиная с Chrome 43. Кеш браузера. Примечание. При удалении данных очищается весь кеш, а не только за указанный период.
-
печенье
Логическое значение (необязательно)
Файлы cookie раздела.
-
fileSystems
Логическое значение (необязательно)
Файловые системы сайтов.
-
indexedDB
Логическое значение (необязательно)
Данные IndexedDB сайтов.
-
localStorage
Логическое значение (необязательно)
Данные локального хранилища сайтов.
-
persistentCookies
Логическое значение (необязательно)
Chrome 58 и более поздних версий;Постоянные файлы cookie раздела.
-
sessionCookies
Логическое значение (необязательно)
Chrome 58 и более поздних версий;Файлы cookie сеанса раздела.
-
webSQL
Логическое значение (необязательно)
Данные WebSQL сайтов.
ContentScriptDetails
Сведения о скрипте для содержимого, который нужно внедрить. Подробную информацию можно найти в документации по скриптам контента.
Свойства
-
all_frames
Логическое значение (необязательно)
Если
all_framesимеет значениеtrue, это означает, что JavaScript или CSS должны быть внедрены во все фреймы текущей страницы. По умолчанию дляall_framesзадано значениеfalse, и код JavaScript или CSS вставляется только в верхний фрейм. -
css
InjectionItems необязательный
Код CSS или список файлов CSS, которые будут вставлены на соответствующие страницы. Они внедряются в том порядке, в котором указаны, до создания или показа DOM для страницы.
-
exclude_globs
string[] необязательно
Применяется после сопоставления, чтобы исключить URL, соответствующие этому шаблону. Имитирует ключевое слово @exclude в Greasemonkey.
-
exclude_matches
string[] необязательно
Исключает страницы, в которые в противном случае был бы внедрен этот скрипт.
-
include_globs
string[] необязательно
Применяется после сопоставления, чтобы включить только те URL, которые также соответствуют этому шаблону. Имитирует ключевое слово @include Greasemonkey.
-
js
InjectionItems необязательный
Код JavaScript или список файлов JavaScript, которые будут вставлены на соответствующие страницы. Они добавляются в том порядке, в котором указаны.
-
match_about_blank
Логическое значение (необязательно)
Указывает, нужно ли вставлять скрипт контента на страницах about:blank и about:srcdoc. Скрипты контента будут внедряться только на страницы, URL которых соответствует одному из шаблонов, указанных в поле matches. URL наследования – это URL документа, в котором был создан фрейм или окно. Скрипты контента нельзя вставлять в изолированные фреймы.
-
соответствует
string[]
Указывает, на какие страницы будет внедрен этот скрипт контента.
-
name
string
Название скрипта контента, который нужно внедрить.
-
run_at
RunAt необязательный
Самый ранний момент, когда JavaScript или CSS будут внедрены на вкладку. Значение по умолчанию – document_idle.
ContentWindow
Дескриптор обмена сообщениями для гостевого окна.
Свойства
-
postMessage
void
Публикует сообщение во встроенном веб-контенте, если в нем показывается страница из целевого источника. Этот метод доступен после завершения загрузки страницы. Прослушайте событие
contentload, а затем вызовите метод.Гость сможет отправлять ответы встраивающему объекту, публикуя сообщения в
event.sourceв полученном событии сообщения.Этот API идентичен HTML5 postMessage API, который используется для обмена данными между веб-страницами. Встраиваемый объект может прослушивать ответы, добавив прослушиватель событий
messageв свой фрейм.Функция
postMessageвыглядит следующим образом:(message: any, targetOrigin: string) => {...}
-
Сообщение
любой
Объект сообщения, который нужно отправить гостю.
-
targetOrigin
string
Указывает, каким должно быть происхождение гостевого окна, чтобы событие было отправлено.
-
ContextMenuCreateProperties
Свойства
-
выбрано
Логическое значение (необязательно)
Начальное состояние флажка или переключателя: true для выбранного и false для невыбранного. В группе переключателей можно выбрать только один вариант.
-
контексты
[ContextType, ...ContextType[]] необязательный
Список контекстов, в которых будет появляться этот пункт меню. Если не указано другое, по умолчанию используется ['page'].
-
documentUrlPatterns
string[] необязательно
Позволяет ограничить применение элемента только документами, URL которых соответствует одному из заданных шаблонов. Это также относится к фреймам. Подробнее о шаблонах соответствия…
-
включено
Логическое значение (необязательно)
Указывает, включен ли этот пункт контекстного меню. Значение по умолчанию –
true. -
id
Строка (необязательно)
Уникальный идентификатор, который будет назначен этому объекту. Обязательно для страниц мероприятий. Не может совпадать с другим идентификатором этого расширения.
-
parentId
string | number необязательный
Идентификатор родительского пункта меню. Позволяет сделать пункт дочерним по отношению к ранее добавленному пункту.
-
targetUrlPatterns
string[] необязательно
Похоже на documentUrlPatterns, но позволяет фильтровать по атрибуту
srcтегов img/audio/video иhrefтегов anchor. -
название
Строка (необязательно)
Текст, который будет показываться в элементе. Это обязательный параметр, если только
typeне имеет значение separator. Если контекст – selection, вы можете использовать в строке%s, чтобы показать выбранный текст. Например, если значение этого параметра – "Перевести '%s' на поросячью латынь", а пользователь выбирает слово "круто", то пункт контекстного меню для выбранного фрагмента будет выглядеть так: "Перевести 'круто' на поросячью латынь". -
тип
ItemType необязательный
Тип пункта меню. Если не указано другое, по умолчанию используется normal.
-
onclick
void optional
Функция, которая будет вызвана при нажатии на пункт меню.
Функция
onclickвыглядит следующим образом:(info: OnClickData) => {...}
-
информация
Информация об элементе, на который нажал пользователь, и контексте, в котором это произошло.
-
ContextMenus
Свойства
-
onShow
Event<functionvoidvoid>
Срабатывает перед показом контекстного меню для этого элемента
webview. Чтобы отключить контекстное меню, вызовите методevent.preventDefault().Функция
onShow.addListenerвыглядит следующим образом:(callback: function) => {...}
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(event: object) => void
-
event
Объект
-
preventDefault
void
Вызовите этот метод, чтобы контекстное меню не показывалось.
Функция
preventDefaultвыглядит следующим образом:() => {...}
-
-
-
-
create
void
Создает новый пункт контекстного меню. Если при создании произойдет ошибка, вы можете не узнать об этом, пока не сработает обратный вызов (подробности будут в
runtime.lastError).Функция
createвыглядит следующим образом:(createProperties: object, callback?: function) => {...}
-
createProperties
Объект
свойства, используемые для создания объекта;
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
-
Возвращает
string | number
Идентификатор нового объекта.
-
-
удалить
void
Удаляет пункт контекстного меню.
Функция
removeвыглядит следующим образом:(menuItemId: string | number, callback?: function) => {...}
-
string | number
Идентификатор удаляемого пункта контекстного меню.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
-
-
removeAll
void
Удаляет все пункты контекстного меню, добавленные в это расширение
webview.Функция
removeAllвыглядит следующим образом:(callback?: function) => {...}
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
-
-
update
void
Обновляет ранее созданный пункт контекстного меню.
Функция
updateвыглядит следующим образом:(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
string | number
Идентификатор объекта, который нужно обновить.
-
updateProperties
Объект
Свойства, которые нужно обновить. Принимает те же значения, что и функция create.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
-
ContextMenuUpdateProperties
Свойства
-
выбрано
Логическое значение (необязательно)
Состояние флажка или переключателя: true для выбранного и false для невыбранного. В группе переключателей можно выбрать только один вариант.
-
контексты
[ContextType, ...ContextType[]] необязательный
Список контекстов, в которых будет появляться этот пункт меню.
-
documentUrlPatterns
string[] необязательно
Позволяет ограничить применение элемента только документами, URL которых соответствует одному из заданных шаблонов. Это также относится к фреймам. Подробнее о шаблонах соответствия…
-
включено
Логическое значение (необязательно)
Указывает, включен ли этот пункт контекстного меню.
-
parentId
string | number необязательный
Идентификатор родительского пункта меню. Позволяет сделать пункт дочерним по отношению к ранее добавленному пункту. Примечание. Вы не можете сделать объект дочерним по отношению к одному из его собственных дочерних объектов.
-
targetUrlPatterns
string[] необязательно
Похоже на documentUrlPatterns, но позволяет фильтровать по атрибуту
srcтегов img/audio/video иhrefтегов anchor. -
название
Строка (необязательно)
Текст, который будет показываться в элементе.
-
тип
ItemType необязательный
Тип пункта меню.
-
onclick
void optional
Функция, которая будет вызвана при нажатии на пункт меню.
Функция
onclickвыглядит следующим образом:(info: OnClickData) => {...}
-
информация
Информация об элементе, на который нажал пользователь, и контексте, в котором это произошло.
-
ContextType
Различные контексты, в которых может появляться меню. Значение "all" эквивалентно комбинации всех остальных контекстов.
Перечисление
"all"
"page"
"frame"
"selection"
"link"
"editable"
"image"
"video"
"audio"
DialogController
Интерфейс, прикрепленный к событиям DOM dialog.
Свойства
-
отмена
void
Отклонить диалог. Аналогично нажатию кнопки "Отмена" в диалоговом окне
confirmилиprompt.Функция
cancelвыглядит следующим образом:() => {...} -
ОК
void
Подтвердите действие в диалоговом окне. Аналогично нажатию кнопки "ОК" в диалоговом окне
alert,confirmилиprompt.Функция
okвыглядит следующим образом:(response?: string) => {...}
-
Ответ
Строка (необязательно)
Строка ответа, которая будет показана гостю при принятии диалогового окна
prompt.
-
DialogMessageType
Тип модального диалогового окна, запрошенного гостем.
Перечисление
"alert"
"confirm"
"prompt"
DownloadPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest типа download.
Свойства
-
requestMethod
string
Тип HTTP-запроса (например,
GET), связанный с запросом на скачивание. -
url
string
Запрошенный URL для скачивания.
-
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение. Это режим работы по умолчанию, если не вызывается
allow.Функция
denyвыглядит следующим образом:() => {...}
ExitReason
Строка, указывающая причину выхода.
Перечисление
"normal"
"abnormal"
"crashed"
"killed"
"oom killed"
"oom"
"не удалось запустить"
"integrity failure"
FileSystemPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest типа filesystem.
Свойства
-
url
string
URL фрейма, запрашивающего доступ к локальной файловой системе.
-
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение.
Функция
denyвыглядит следующим образом:() => {...}
FindCallbackResults
Содержит все результаты поискового запроса.
Свойства
-
activeMatchOrdinal
число
Порядковый номер текущего совпадения.
-
отменено
Логическое значение
Указывает, был ли отменен этот запрос на поиск.
-
numberOfMatches
число
Количество совпадений с
searchTextна странице. -
selectionRect
Описывает прямоугольник вокруг активного совпадения в экранных координатах.
FindOptions
Параметры поискового запроса.
Свойства
-
назад
Логическое значение (необязательно)
Пометка для поиска совпадений в обратном порядке. Значение по умолчанию:
false. -
matchCase
Логическое значение (необязательно)
Флаг для сопоставления с учетом регистра. Значение по умолчанию:
false.
FullscreenPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest типа fullscreen.
Свойства
-
происхождение
string
Источник фрейма в
webview, который инициировал запрос на полноэкранный режим. -
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение.
Функция
denyвыглядит следующим образом:() => {...}
GeolocationPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest типа geolocation.
Свойства
-
url
string
URL фрейма, запрашивающего доступ к данным геолокации.
-
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение. Это режим работы по умолчанию, если не вызывается
allow.Функция
denyвыглядит следующим образом:() => {...}
HidPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest hid.
Свойства
-
url
string
URL фрейма, запрашивающего доступ к HID API.
-
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение. Это режим работы по умолчанию, если не вызывается
allow.Функция
denyвыглядит следующим образом:() => {...}
InjectDetails
Сведения о скрипте или CSS, которые нужно внедрить. Необходимо указать либо код, либо свойство файла, но не оба одновременно.
Свойства
-
код
Строка (необязательно)
Код JavaScript или CSS для вставки.
Внимание! Будьте осторожны при использовании параметра
code. Неправильное использование этого метода может сделать приложение уязвимым для межсайтового скриптинга. -
файл
Строка (необязательно)
Файл JavaScript или CSS для внедрения.
InjectionItems
Тип внедренного объекта: код или набор файлов.
Свойства
-
код
Строка (необязательно)
Код JavaScript или CSS, который будет внедрен на соответствующие страницы.
-
файлы
string[] необязательно
Список файлов 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 permissionrequest типа loadplugin.
Свойства
-
identifier
string
Строка идентификатора плагина.
-
name
string
Отображаемое название плагина.
-
allow
void
Предоставьте разрешение. Это режим работы по умолчанию, если
denyне вызывается.Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение.
Функция
denyвыглядит следующим образом:() => {...}
MediaPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest типа media.
Свойства
-
url
string
URL фрейма, запрашивающего доступ к медиафайлам пользователя.
-
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение. Это режим работы по умолчанию, если не вызывается
allow.Функция
denyвыглядит следующим образом:() => {...}
NewWindow
Интерфейс, прикрепленный к событиям DOM newwindow.
Свойства
-
прикрепить
void
Прикрепите целевую страницу к существующему элементу
webview.Функция
attachвыглядит следующим образом:(webview: object) => {...}
-
компонент webview
Объект
Элемент
webview, к которому должна быть прикреплена целевая страница.
-
-
Не вносить
void
Отменить запрос на открытие нового окна.
Функция
discardвыглядит следующим образом:() => {...}
PermissionType
Тип запрашиваемого разрешения.
Перечисление
"media"
"geolocation"
"pointerLock"
"download"
"loadplugin"
"filesystem"
"fullscreen"
"hid"
PointerLockPermissionRequest
Тип объекта request, который сопровождает событие DOM permissionrequest типа pointerLock.
Свойства
-
lastUnlockedBySelf
Логическое значение
Указывает, был ли запрашивающий фрейм последним клиентом, удерживающим блокировку указателя.
-
url
string
URL фрейма, запрашивающего блокировку указателя.
-
userGesture
Логическое значение
Запрашивалась ли блокировка указателя в результате жеста пользователя.
-
allow
void
Предоставьте разрешение.
Функция
allowвыглядит следующим образом:() => {...} -
deny
void
Отклонить запрос на разрешение. Это режим работы по умолчанию, если не вызывается
allow.Функция
denyвыглядит следующим образом:() => {...}
SelectionRect
Описывает прямоугольник в экранных координатах.
Семантика включения аналогична массиву, то есть считается, что координата (left, top) содержится в прямоугольнике, а координата (left + width, top) – нет.
Свойства
-
высота
число
Высота прямоугольника.
-
влево
число
Расстояние от левого края экрана до левого края прямоугольника.
-
верхняя
число
Расстояние от верхнего края экрана до верхнего края прямоугольника.
-
ширина
число
Ширина прямоугольника.
StopFindingAction
Определяет, что делать с активным совпадением после завершения сеанса поиска. clear – выделение активного совпадения будет снято; keep – выделение активного совпадения будет сохранено; activate – выделение активного совпадения будет сохранено, и будет сымитирован клик пользователя по этому совпадению. Действие по умолчанию: keep.
Перечисление
"clear"
"keep"
"activate"
WebRequestEventInterface
Интерфейс, предоставляющий доступ к событиям webRequest на гостевой странице. Подробную информацию о жизненном цикле webRequest и связанных с ним концепциях можно найти в документации по API расширений chrome.webRequest. Примечание. Событие chrome.webRequest.onActionIgnored не поддерживается для компонентов WebView.
Чтобы проиллюстрировать, чем использование отличается от 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.
Обратите внимание, что условия и действия для декларативных веб-запросов 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
Запрошенное расположение нового окна.
Перечисление
"ignore"
"save_to_disk"
"current_tab"
"new_background_tab"
"new_foreground_tab"
"new_window"
"new_popup"
ZoomMode
Определяет, как обрабатывается масштабирование в webview.
Перечисление
per-origin
Изменения масштаба будут сохраняться в источнике масштабируемой страницы, то есть все остальные компоненты WebView в том же разделе, которые переходят к тому же источнику, также будут масштабироваться. Кроме того, per-originизменения масштаба сохраняются для источника, то есть при переходе на другие страницы в том же источнике они будут масштабироваться с тем же коэффициентом.
per-view
Изменения масштаба применяются только к текущему компоненту WebView и не влияют на другие. Кроме того, per-viewизменения масштаба сбрасываются при навигации. При переходе в компонент WebView страницы всегда будут загружаться с коэффициентами масштабирования для каждого источника (в пределах раздела).
"disabled"
Отключает масштабирование в WebView. Контент будет показан в масштабе по умолчанию, а все попытки изменить масштаб будут игнорироваться.
Свойства
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
Сведения о добавляемых скриптах для содержимого.
back()
chrome.webviewTag.back(
callback?: function,
): void
Переход на одну запись назад в истории, если это возможно. Аналогичен элементу go(-1).
Параметры
-
обратный вызов
function необязательно
Chrome 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
Записывает видимую область компонента WebView.
Параметры
-
Параметры
ImageDetails необязательный
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(dataUrl: string) => void
-
dataUrl
string
URL данных, который кодирует изображение видимой области захваченной вкладки. Может быть присвоен свойству src элемента HTML Image для показа.
-
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
): void
Удаляет данные о работе в браузере для раздела webview.
Параметры
-
Параметры
Параметры, определяющие, какие данные нужно удалить.
-
типы
Типы данных, которые нужно удалить.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
): void
Добавление кода JavaScript на гостевую страницу.
В следующем образце кода используется внедрение скрипта, чтобы задать красный цвет фона гостевой страницы:
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
Параметры
-
подробные сведения
Сведения о скрипте, который нужно запустить.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(result?: any[]) => void
-
Результат
any[] необязательный
Результат выполнения скрипта в каждом внедренном фрейме.
-
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
): void
Инициирует запрос на поиск по странице.
Параметры
-
searchText
string
Строка, которую нужно найти на странице.
-
Параметры
FindOptions необязательный
Параметры поискового запроса.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(results?: FindCallbackResults) => void
-
результаты
FindCallbackResults необязательный
Содержит все результаты поискового запроса.
resultsможно опустить, если он не используется в теле функции обратного вызова, например если обратный вызов используется только для определения момента завершения запроса на поиск.
-
forward()
chrome.webviewTag.forward(
callback?: function,
): void
Переход на одну запись вперед в истории, если это возможно. Аналогичен элементу go(1).
Параметры
-
обратный вызов
function необязательно
Chrome 44 и более поздних версий;Параметр
callbackвыглядит следующим образом:(success: boolean) => void
-
выполнено
Логическое значение
Указывает, была ли навигация успешной.
-
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
): void
Запрашивает состояние звука.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(audible: boolean) => void
-
Audible
Логическое значение
-
getProcessId()
chrome.webviewTag.getProcessId(): number
Возвращает внутренний идентификатор процесса Chrome для текущего процесса гостевой веб-страницы, позволяя встраиваемым объектам узнать, на сколько гостей повлияет завершение процесса. Два гостевых процесса могут использовать один и тот же процесс, только если они относятся к одному приложению и имеют одинаковый идентификатор раздела хранилища. Вызов синхронный и возвращает кешированное представление идентификатора текущего процесса. Идентификатор процесса не совпадает с идентификатором процесса операционной системы.
Возвраты
-
число
getUserAgent()
chrome.webviewTag.getUserAgent(): string
Возвращает строку агента пользователя, которая используется webview для запросов гостевых страниц.
Возвраты
-
string
getZoom()
chrome.webviewTag.getZoom(
callback: function,
): void
Возвращает текущий коэффициент масштабирования.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(zoomFactor: number) => void
-
zoomFactor
число
Текущий коэффициент масштабирования.
-
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
): void
Возвращает текущий режим масштабирования.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(ZoomMode: ZoomMode) => void
-
ZoomMode
Текущий режим масштабирования для
webview.
-
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
): void
Переход к записи в истории по индексу относительно текущей навигации. Если запрошенная навигация невозможна, этот метод не действует.
Параметры
-
relativeIndex
число
Относительный индекс истории, к которому нужно перейти в
webview. Например, значение2позволяет перейти на две записи вперед, а-3– на три записи назад. -
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(success: boolean) => void
-
выполнено
Логическое значение
Указывает, была ли навигация успешной.
-
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
): void
Добавление CSS на гостевую страницу.
Параметры
-
подробные сведения
Подробные сведения о вставляемом CSS.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
): void
Запрашивает, отключен ли звук.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(muted: boolean) => void
-
Без звука
Логическое значение
-
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
): void
Проверяет, включена ли пространственная навигация для компонента WebView.
Параметры
-
function
Параметр
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
string
URL данных, которые нужно загрузить.
-
baseUrl
string
Базовый 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
string[] необязательно
Список названий скриптов контента, которые будут удалены. Если список пуст, все скрипты контента, добавленные в
webview, будут удалены.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
): void
Отключает звук в компоненте WebView.
Параметры
-
mute
Логическое значение
Значение отключения звука
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
): void
Задает состояние пространственной навигации для компонента WebView.
Параметры
-
Логическое значение
Значение состояния пространственной навигации.
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
): void
Переопределить строку агента пользователя, используемую webview для запросов гостевых страниц. В результате значения заголовка клиентских подсказок User-Agent и значения, возвращаемые navigator.userAgentData, будут пустыми для запросов гостевых страниц, к которым применяется это переопределение.
Параметры
-
userAgent
string
Строка агента пользователя, которую нужно использовать.
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
): void
Изменяет масштаб страницы. Область действия и сохранение этого изменения определяются текущим режимом масштабирования компонента WebView (см. webviewTag.ZoomMode).
Параметры
-
zoomFactor
число
Новый коэффициент масштабирования.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
): void
Задает режим масштабирования для webview.
Параметры
-
ZoomMode
Определяет, как обрабатывается масштабирование в
webview. -
обратный вызов
function необязательно
Параметр
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';
});
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
Срабатывает, когда гостевое окно регистрирует сообщение консоли.
В примере кода ниже все сообщения в журнале пересылаются в консоль встраиваемого приложения без учета уровня журнала и других свойств.
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(level: number, message: string, line: number, sourceId: string) => void
-
уровень
число
-
Сообщение
string
-
линия
число
-
sourceId
string
-
contentload
chrome.webviewTag.contentload.addListener(
callback: function,
)
Срабатывает, когда гостевое окно активирует событие load, то есть когда загружается новый документ. Сюда не входит навигация по страницам в текущем документе или асинхронная загрузка ресурсов.
В следующем примере кода размер шрифта по умолчанию для элемента body гостевого фрейма изменяется после загрузки страницы:
webview.addEventListener('contentload', function() {
webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
Срабатывает, когда гостевое окно пытается открыть модальное диалоговое окно с помощью window.alert, window.confirm или window.prompt.
Обработка этого события заблокирует гостевой процесс, пока не вернется каждый прослушиватель событий или пока объект dialog не станет недоступным (если был вызван метод preventDefault()).
Режим работы по умолчанию — отмена диалогового окна.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(messageType: DialogMessageType, messageText: string, dialog: DialogController) => void
-
messageType
-
messageText
string
-
диалоговое окно
-
exit
chrome.webviewTag.exit.addListener(
callback: function,
)
Срабатывает, когда процесс, отрисовывающий гостевой веб-контент, завершается.
В примере ниже показано, как настроить прощальное сообщение, которое будет появляться при сбое гостевой страницы.
webview.addEventListener('exit', function(e) {
if (e.reason === 'crash') {
webview.src = 'data:text/plain,Goodbye, world!';
}
});
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
processID
число
Внутренний идентификатор Chrome для завершенного процесса.
-
reason
Строка, указывающая причину выхода.
-
-
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
Срабатывает, когда для активного запроса на поиск доступны новые результаты. Это может происходить несколько раз в рамках одного запроса на поиск по мере обнаружения совпадений.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
-
searchText
string
-
numberOfMatches
число
-
activeMatchOrdinal
число
-
selectionRect
-
отменено
Логическое значение
-
finalUpdate
string
-
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
Срабатывает, когда загрузка верхнего уровня прервана без фиксации. Если событие не отменено по умолчанию, в консоли появится сообщение об ошибке.
Примечание. Если загрузка ресурса прервана, за событием loadabort в конечном итоге последует событие loadstop, даже если все подтвержденные загрузки с момента последнего события loadstop (если они были) были прерваны.
Примечание. Если загрузка URL-адреса about или JavaScript прервана, будет запущено событие loadabort, а затем webview перейдет на страницу about:blank.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void
-
url
string
-
isTopLevel
Логическое значение
-
код
число
-
reason
-
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
Срабатывает, когда загрузка завершена. Сюда входит навигация в текущем документе, а также загрузка документов на уровне субфреймов, но не асинхронная загрузка ресурсов.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(url: string, isTopLevel: boolean) => void
-
url
string
-
isTopLevel
Логическое значение
-
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
Срабатывает, когда запрос на загрузку верхнего уровня перенаправляется на другой URL.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
-
oldUrl
string
-
newUrl
string
-
isTopLevel
Логическое значение
-
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
Активируется, когда начинается загрузка.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(url: string, isTopLevel: boolean) => void
-
url
string
-
isTopLevel
Логическое значение
-
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
Срабатывает, когда завершается загрузка всех фреймов на гостевой странице (включая все дочерние фреймы). Сюда входит навигация в текущем документе, а также загрузка документов на уровне субфреймов, но не асинхронная загрузка ресурсов. Это событие активируется каждый раз, когда количество загрузок на уровне документа переходит от одного (или более) к нулю. Например, если на странице, которая уже загрузилась (т.е. loadstop уже сработал один раз) создает новый элемент iframe, который загружает страницу, а затем второй loadstop сработает, когда загрузка страницы iframe завершится. Такая схема часто наблюдается на страницах, на которых загружаются объявления.
Примечание. Если подтвержденная загрузка прервана, за событием loadabort в конечном итоге последует событие loadstop, даже если все подтвержденные загрузки с момента последнего события loadstop (если оно было) были прерваны.
Параметры
-
обратный вызов
function
Параметр
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);
});
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void
-
окно
-
targetUrl
string
-
initialWidth
число
-
initialHeight
число
-
name
string
-
windowOpenDisposition
-
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
Срабатывает, когда гостевой странице требуется запросить специальное разрешение у встраивающего элемента.
Приведенный ниже пример кода предоставит гостевой странице доступ к API webkitGetUserMedia. Обратите внимание, что в приложении, использующем этот пример кода, должны быть указаны разрешения манифеста audioCapture и/или videoCapture:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
Параметры
-
обратный вызов
function
Параметр
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';
});
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(processID: number) => void
-
processID
число
-
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
Срабатывает, когда размер встроенного веб-контента изменяется с помощью autosize. Срабатывает, только если включен параметр autosize.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
-
oldWidth
число
-
oldHeight
число
-
newWidth
число
-
newHeight
число
-
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
Срабатывает, когда процесс, обрабатывающий гостевой веб-контент, перестает отвечать. Это событие будет сгенерировано один раз с соответствующим событием ответа, если гость снова начнет отвечать.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(processID: number) => void
-
processID
число
-
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
Срабатывает при изменении масштаба страницы.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(oldZoomFactor: number, newZoomFactor: number) => void
-
oldZoomFactor
число
-
newZoomFactor
число
-