Описание
Используйте тег webview для активной загрузки контента из сети в режиме реального времени и встраивания его в ваше приложение Chrome. Ваше приложение сможет управлять внешним видом ` webview и взаимодействовать с веб-контентом, инициировать навигацию по встроенной веб-странице, реагировать на события ошибок, происходящие внутри неё, и многое другое (см. раздел «Использование »).
Разрешения
webviewДоступность
Типы
ClearDataOptions
Параметры, определяющие, какие данные должны быть очищены функцией clearData .
Характеристики
- с
число необязательно
Данные, накопленные в указанную дату или после нее, представлены в миллисекундах с начала эпохи (доступны через метод getTime объекта JavaScript
Date). Если значение отсутствует, по умолчанию равно0(что приведет к удалению всех данных просмотра).
ClearDataTypeSet
Набор типов данных. Отсутствующие свойства интерпретируются как false .
Характеристики
- кэш приложений
логический необязательный
Кэширование веб-сайтов.
- кэш
логический необязательный
Chrome 44+Начиная с Chrome 43. Кеш браузера. Примечание: при удалении данных очищается весь кеш; он не ограничивается указанным вами диапазоном.
- файлы cookie
логический необязательный
Файлы cookie раздела.
- файловые системы
логический необязательный
Файловые системы веб-сайтов.
- индексированная база данных
логический необязательный
Данные веб-сайтов в IndexedDB.
- локальное хранилище
логический необязательный
Данные локального хранилища веб-сайтов.
- постоянные файлы cookie
логический необязательный
Chrome 58+Постоянные файлы cookie этого раздела.
- сессионные файлы cookie
логический необязательный
Chrome 58+Сессионные файлы cookie раздела.
- веб-SQL
логический необязательный
Данные WebSQL веб-сайтов.
ContentScriptDetails
Подробности о скрипте контента для внедрения. Для получения более подробной информации обратитесь к документации по скриптам контента .
Характеристики
- все_кадры
логический необязательный
Если
all_framesимеетtrue, это означает, что JavaScript или CSS должны быть внедрены во все фреймы текущей страницы. По умолчаниюall_framesимеет значениеfalse, и JavaScript или CSS внедряются только в верхний фрейм. - css
Элементы для инъекций (необязательно)
CSS-код или список CSS-файлов, которые будут внедрены в соответствующие страницы. Они внедряются в том порядке, в котором отображаются, до того, как будет создан или отображен DOM-элемент страницы.
- exclude_globs
строка[] необязательный
Применяется после совпадений для исключения URL-адресов, соответствующих этому шаблону. Предназначено для имитации ключевого слова Greasemonkey @exclude.
- exclude_matches
строка[] необязательный
Исключаются страницы, на которые в противном случае был бы внедрен этот скрипт контента.
- include_globs
строка[] необязательный
Применяется после совпадений, чтобы включить только те URL-адреса, которые также соответствуют этому шаблону. Предназначено для имитации ключевого слова @include Greasemonkey.
- js
Элементы для инъекций (необязательно)
Код JavaScript или список файлов JavaScript, которые необходимо внедрить на соответствующие страницы. Внедрение происходит в порядке их появления.
- match_about_blank
логический необязательный
Следует ли вставлять скрипт содержимого на страницы about:blank и about:srcdoc. Скрипты содержимого будут внедряться на страницы только в том случае, если их наследуемый URL-адрес совпадает с одним из шаблонов, указанных в поле matches. Наследуемый URL-адрес — это URL-адрес документа, создавшего фрейм или окно. Скрипты содержимого нельзя вставлять во фреймы, работающие в изолированной среде.
- матчи
нить[]
Указывает, на какие страницы будет внедрен этот скрипт контента.
- имя
нить
Название скрипта контента для внедрения.
- run_at
RunAt optional
Самое раннее время, когда JavaScript или CSS будут внедрены во вкладку. По умолчанию используется значение "document_idle".
ContentWindow
Идентификатор сообщения для гостевого окна.
Характеристики
- postMessage
пустота
Этот метод отправляет сообщение во встроенный веб-контент до тех пор, пока встроенный контент отображает страницу с целевого источника. Он становится доступен после завершения загрузки страницы. Необходимо дождаться события
contentload, а затем вызвать этот метод.Гость сможет отправлять ответы встраивающему сервису, отправляя сообщение в
event.sourceв событии message, которое он получит.Этот API идентичен API postMessage в HTML5 для обмена данными между веб-страницами. Встраиваемый фрейм может отслеживать ответы, добавив обработчик событий
messageв свой собственный фрейм.Функция
postMessageвыглядит следующим образом:(message: any, targetOrigin: string) => {...}
- сообщение
любой
Объект сообщения, который будет отправлен гостю.
- targetOrigin
нить
Указывает, какое местоположение должно быть у окна гостя для отправки события.
ContextMenuCreateProperties
Характеристики
- проверено
логический необязательный
Начальное состояние флажка или переключателя: true — выбран, false — не выбран. В данной группе переключателей одновременно можно выбрать только один переключатель.
- контексты
[ ContextType , ... ContextType []] optional
Список контекстов, в которых будет отображаться этот пункт меню. По умолчанию используется ['page'], если не указано иное.
- documentUrlPatterns
строка[] необязательный
Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это относится и к фреймам.) Подробную информацию о формате шаблона см. в разделе «Шаблоны соответствия» .
- включено
логический необязательный
Включен или выключен этот пункт контекстного меню. По умолчанию —
true. - идентификатор
строка необязательный
Уникальный идентификатор, присваиваемый этому элементу. Обязателен для страниц событий. Не может совпадать с другим идентификатором этого расширения.
- parentId
строка | число (необязательно)
Идентификатор родительского пункта меню; это делает данный пункт дочерним по отношению к ранее добавленному пункту.
- targetUrlPatterns
строка[] необязательный
Аналогично documentUrlPatterns, но позволяет фильтровать по атрибуту
srcтегов img/audio/video и атрибутуhrefтегов anchor. - заголовок
строка необязательный
Текст, который должен отображаться в элементе; это обязательное поле , если
typeне равен «разделитель». Если контекст — «выделение», вы можете использовать%sвнутри строки для отображения выделенного текста. Например, если значение этого параметра — «Перевести '%s' на свинскую латынь», и пользователь выделяет слово «cool», пункт контекстного меню для этого выделения будет «Перевести 'cool' на свинскую латынь». - тип
ItemType ( необязательный параметр)
Тип пункта меню. По умолчанию — «обычный», если не указано иное.
- при клике
void optional
Функция, которая будет вызываться при щелчке по пункту меню.
Функция
onclickвыглядит следующим образом:(info: OnClickData) => {...}
- информация
Информация о клике и контексте, в котором он произошел.
ContextMenus
Характеристики
- onShow
Событие<functionvoidvoid>
Событие срабатывает перед отображением контекстного меню в этом
webview. Его можно использовать для отключения этого контекстного меню, вызвавevent.preventDefault().Функция
onShow.addListenerвыглядит следующим образом:(callback: function) => {...}
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(event: object) => void
- событие
объект
- preventDefault
пустота
Вызовите эту функцию, чтобы предотвратить отображение контекстного меню.
Функция
preventDefaultвыглядит следующим образом:() => {...}
- создавать
пустота
Создает новый пункт контекстного меню. Обратите внимание, что если во время создания произойдет ошибка, вы можете узнать об этом только после срабатывания функции обратного вызова создания (подробности будут в
runtime.lastError).Функция
createвыглядит следующим образом:(createProperties: object, callback?: function) => {...}
- создатьСвойства
объект
Свойства, использованные для создания предмета.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
- возвраты
строка | число
Идентификатор вновь созданного элемента.
- удалять
пустота
Удаляет пункт контекстного меню.
Функция
removeвыглядит следующим образом:(menuItemId: string | number, callback?: function) => {...}
строка | число
Идентификатор пункта контекстного меню, который нужно удалить.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
- удалитьВсе
пустота
Удаляет все пункты контекстного меню, добавленные в это
webview.Функция
removeAllвыглядит следующим образом:(callback?: function) => {...}
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
- обновлять
пустота
Обновляет ранее созданный пункт контекстного меню.
Функция
updateвыглядит следующим образом:(id: string | number, updateProperties: object, callback?: function) => {...}
- идентификатор
строка | число
Идентификатор элемента, который необходимо обновить.
- обновитьСвойства
объект
Свойства для обновления. Принимает те же значения, что и функция создания.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
ContextMenuUpdateProperties
Характеристики
- проверено
логический необязательный
Состояние флажка или переключателя: true — выбран, false — не выбран. В данной группе переключателей одновременно можно выбрать только один переключатель.
- контексты
[ ContextType , ... ContextType []] optional
Список контекстов, в которых будет отображаться этот пункт меню.
- documentUrlPatterns
строка[] необязательный
Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это относится и к фреймам.) Подробную информацию о формате шаблона см. в разделе «Шаблоны соответствия» .
- включено
логический необязательный
Включен или выключен этот пункт контекстного меню.
- parentId
строка | число (необязательно)
Идентификатор родительского пункта меню; это делает пункт дочерним по отношению к ранее добавленному пункту. Примечание: вы не можете сделать пункт дочерним по отношению к одному из своих собственных потомков.
- targetUrlPatterns
строка[] необязательный
Аналогично documentUrlPatterns, но позволяет фильтровать по атрибуту
srcтегов img/audio/video и атрибутуhrefтегов anchor. - заголовок
строка необязательный
Текст, который будет отображаться в элементе.
- тип
ItemType ( необязательный параметр)
Тип пункта меню.
- при клике
void optional
Функция, которая будет вызываться при щелчке по пункту меню.
Функция
onclickвыглядит следующим образом:(info: OnClickData) => {...}
- информация
Информация о клике и контексте, в котором он произошел.
ContextType
Различные контексты, в которых может отображаться меню. Указание «все» эквивалентно комбинации всех остальных контекстов.
Перечисление
"все" "страница" "рамка" «выбор» "связь" "редактируемый" "изображение" "видео" "аудио"
DialogController
Интерфейс, привязанный к событиям DOM dialog .
Характеристики
- отмена
пустота
Отклонить диалоговое окно. Аналогично нажатию кнопки «Отмена» в диалоговом окне
confirmилиprompt.Функция
cancelвыглядит следующим образом:() => {...} - хорошо
пустота
Подтвердите диалоговое окно. Это эквивалентно нажатию кнопки ОК в диалоговом окне
alert,confirmилиprompt.Функция
okвыглядит следующим образом:(response?: string) => {...}
- ответ
строка необязательный
Строка ответа, которая будет предоставлена гостю при принятии диалогового окна
prompt.
DialogMessageType
Тип модального диалога, запрошенного гостем.
Перечисление
"тревога" "подтверждать" "быстрый"
DownloadPermissionRequest
Тип объекта request , сопровождающего событие DOM ` download permissionrequest .
Характеристики
- requestMethod
нить
Тип HTTP-запроса (например,
GET), связанный с запросом на загрузку. - url
нить
Запрошенная ссылка для скачивания.
- позволять
пустота
Разрешите запрос на предоставление разрешения.
Функция
allowвыглядит следующим образом:() => {...} - отрицать
пустота
Отклонить запрос на разрешение. Это поведение по умолчанию, если
allowне вызывается.Функция
denyвыглядит следующим образом:() => {...}
ExitReason
Строка, указывающая причину выхода.
Перечисление
"нормальный" "аномальный" "разбился" "убит" "Комната опустела" "ум" "Не удалось запустить" «нарушение целостности»
FileSystemPermissionRequest
Тип объекта request , сопровождающего событие DOM ` filesystem permissionrequest .
Характеристики
- url
нить
URL-адрес фрейма, запрашивающего доступ к локальной файловой системе.
- позволять
пустота
Разрешите запрос на предоставление разрешения.
Функция
allowвыглядит следующим образом:() => {...} - отрицать
пустота
Отклонить запрос на разрешение.
Функция
denyвыглядит следующим образом:() => {...}
FindCallbackResults
Содержит все результаты запроса на поиск.
Характеристики
- activeMatchOrdinal
число
Порядковый номер текущего матча.
- отменено
логический
Указывает, был ли этот запрос на поиск отменен.
- количествоСовпадений
число
Количество совпадений
searchTextна странице. - selectionRect
Описывает прямоугольник вокруг активного совпадения в экранных координатах.
FindOptions
Варианты для запроса на поиск.
Характеристики
- назад
логический необязательный
Флаг для поиска совпадений в обратном порядке. Значение по умолчанию —
false. - matchCase
логический необязательный
Флаг для сопоставления с учетом регистра. Значение по умолчанию —
false.
FullscreenPermissionRequest
Тип объекта request , сопровождающего событие DOM ` fullscreen permissionrequest .
Характеристики
- источник
нить
Источник фрейма внутри
webview, инициировавшего запрос на полноэкранный режим. - позволять
пустота
Разрешите запрос на предоставление разрешения.
Функция
allowвыглядит следующим образом:() => {...} - отрицать
пустота
Отклонить запрос на разрешение.
Функция
denyвыглядит следующим образом:() => {...}
GeolocationPermissionRequest
Тип объекта request , сопровождающего событие DOM permissionrequest geolocation .
Характеристики
- url
нить
URL-адрес фрейма, запрашивающего доступ к данным геолокации.
- позволять
пустота
Разрешите запрос на предоставление разрешения.
Функция
allowвыглядит следующим образом:() => {...} - отрицать
пустота
Отклонить запрос на разрешение. Это поведение по умолчанию, если
allowне вызывается.Функция
denyвыглядит следующим образом:() => {...}
HidPermissionRequest
Тип объекта request , сопровождающего событие DOM hid permissionrequest .
Характеристики
- url
нить
URL-адрес фрейма, запрашивающего доступ к API HID.
- позволять
пустота
Разрешите запрос на предоставление разрешения.
Функция
allowвыглядит следующим образом:() => {...} - отрицать
пустота
Отклонить запрос на разрешение. Это поведение по умолчанию, если
allowне вызывается.Функция
denyвыглядит следующим образом:() => {...}
InjectDetails
Детали скрипта или CSS-кода для внедрения. Необходимо указать либо код, либо свойство файла, но одновременно нельзя указывать и то, и другое.
Характеристики
- код
строка необязательный
Для внедрения используйте JavaScript или CSS-код.
Внимание: Будьте осторожны при использовании параметра
code. Неправильное его использование может сделать ваше приложение уязвимым для атак межсайтового скриптинга (XSS) . - файл
строка необязательный
Для внедрения используйте 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 ` media permissionrequest .
Характеристики
- 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-адрес кадра, запрашивающего блокировку указателя.
- пользовательский жест
логический
Указывалось, был ли запрошен блокировка указателя в результате жеста ввода пользователя.
- позволять
пустота
Разрешите запрос на предоставление разрешения.
Функция
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 .
Обратите внимание, что условия и действия для декларативных webView webRequest должны создаваться на основе их аналогов 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
Запрашиваемое местоположение нового окна.
Перечисление
"игнорировать" "save_to_disk" "current_tab" "новая_фоновая_вкладка" "new_foreground_tab" "новое_окно" "new_popup"
ZoomMode
Определяет способ обработки масштабирования в webview .
Перечисление
"по месту происхождения" "контент-просмотр" "неполноценный"
Изменения масштабирования сохраняются в исходном коде увеличенной страницы, то есть все остальные веб-страницы в том же разделе, на которые осуществляется переход к тому же исходному коду, также будут увеличены. Более того, изменения масштабирования per-origin сохраняются вместе с исходным кодом, это означает, что при переходе на другие страницы в том же исходном коде все они будут увеличены до одного и того же коэффициента масштабирования.
Изменения масштабирования вступают в силу только в этом конкретном веб-представлении, и изменения масштабирования в других веб-представлениях не повлияют на масштабирование этого веб-представления. Кроме того, изменения масштабирования per-view сбрасываются при навигации; при навигации по веб-представлению страницы всегда будут загружаться с их исходными коэффициентами масштабирования (в пределах области действия раздела).
Отключает масштабирование в веб-представлении. Содержимое вернется к уровню масштабирования по умолчанию, и все попытки изменения масштаба будут проигнорированы.
Характеристики
contentWindow
Объектная ссылка, которую можно использовать для публикации сообщений на гостевой странице.
Тип
contextMenus
Аналогично API ContextMenus в 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) .
Параметры
- перезвонить
функция необязательна
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
Захватывает видимую область веб-представления.
Параметры
- параметры
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
Инициирует запрос на поиск на странице.
Параметры
- поискТекст
нить
Строка, которую нужно найти на странице.
- параметры
FindOptions ( необязательно)
Варианты для запроса на поиск.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(results?: FindCallbackResults) => void
- результаты
FindCallbackResults (необязательно)
Содержит все результаты запроса на поиск.
resultsможно опустить, если они не используются в теле функции обратного вызова; например, если функция обратного вызова используется только для определения момента завершения запроса на поиск.
forward()
chrome.webviewTag.forward(
callback?: function,
): void
По возможности переходит на одну запись в истории вперед. Эквивалентно go(1) .
Параметры
- перезвонить
функция необязательна
Chrome 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
- Режим масштабирования
Текущий режим масштабирования
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-адрес, который будет использоваться для относительных ссылок.
- виртуальный URL
строка необязательный
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 .
Параметры
- Режим масштабирования
Определяет способ обработки масштабирования в
webview. - перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
stop()
chrome.webviewTag.stop(): void
Прекращает загрузку текущей навигации webview , если она еще не завершена.
stopFinding()
chrome.webviewTag.stopFinding(
action?: StopFindingAction,
): void
Завершает текущую сессию поиска (очищает все выделения) и отменяет все выполняющиеся запросы на поиск.
Параметры
- действие
StopFindingAction optional
Определяет, что делать с активным совпадением после завершения сеанса поиска.
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
- подробности
объект
- идентификатор процесса
число
Внутренний идентификатор процесса, завершившегося в Chrome.
- причина
Строка, указывающая причину выхода.
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
Событие срабатывает, когда появляются новые результаты поиска для активного запроса. Это может происходить несколько раз для одного запроса по мере обнаружения совпадений.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
- поискТекст
нить
- количествоСовпадений
число
- activeMatchOrdinal
число
- selectionRect
- отменено
логический
- финальное обновление
нить
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
Событие срабатывает, когда загрузка данных верхнего уровня прерывается без подтверждения. Сообщение об ошибке будет выведено в консоль, если это событие не запрещено по умолчанию.
Примечание: Если загрузка ресурса прерывается, за событием loadabort в конечном итоге последует событие остановки loadstop , даже если все запланированные загрузки с момента последнего события loadstop (если таковые были) были прерваны.
Примечание: Если загрузка URL-адреса about или URL-адреса JavaScript прерывается, будет сгенерирован сигнал loadabort , после чего webview будет перенаправлено на 'about:blank'.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(url: string, isTopLevel: boolean, code: number, reason: 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
- идентификатор процесса
число
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
Срабатывает при изменении размера встроенного веб-контента с помощью autosize . Срабатывает только в том случае, если autosize включена.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
- стараяШирина
число
- старый рост
число
- новая ширина
число
- новая высота
число
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
Событие срабатывает, когда процесс, отвечающий за отображение веб-контента для гостя, перестает отвечать. Это событие будет сгенерировано один раз вместе с соответствующим событием responsive, если гость снова начнет отвечать.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(processID: number) => void
- идентификатор процесса
число
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
Событие срабатывает при изменении масштаба страницы.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(oldZoomFactor: number, newZoomFactor: number) => void
- старый ZoomFactor
число
- новый ZoomFactor
число