Описание
Используйте тег webview
, чтобы активно загружать онлайн-контент из Интернета по сети и встраивать его в свое приложение Chrome. Ваше приложение может управлять внешним видом webview
и взаимодействовать с веб-контентом, инициировать навигацию по встроенной веб-странице, реагировать на события ошибок, которые происходят внутри нее, и многое другое (см. Использование ).
Разрешения
webview
Типы
ClearDataOptions
Параметры, определяющие, какие данные следует очистить с помощью clearData
.
Характеристики
- с
номер необязательно
Очистить данные, накопленные в эту дату или после нее, представленные в миллисекундах с начала эпохи (доступны через метод getTime объекта
Date
JavaScript). Если он отсутствует, по умолчанию используется значение0
(что приведет к удалению всех данных просмотра).
ClearDataTypeSet
Набор типов данных. Отсутствующие свойства интерпретируются как false
.
Характеристики
- кэш приложения
логическое значение необязательно
Кэш приложений веб-сайтов.
- кэш
логическое значение необязательно
Хром 44+Начиная с Chrome 43. Кэш браузера. Примечание: при удалении данных очищается весь кэш; он не ограничен указанным вами диапазоном.
- печенье
логическое значение необязательно
Файлы cookie раздела.
- файловые системы
логическое значение необязательно
Файловые системы веб-сайтов.
- индексированная БД
логическое значение необязательно
Данные IndexedDB веб-сайтов.
- локальное хранилище
логическое значение необязательно
Данные локального хранилища веб-сайтов.
- постоянные файлы cookie
логическое значение необязательно
Хром 58+Постоянные файлы cookie раздела.
- сеансCookies
логическое значение необязательно
Хром 58+Сеансовые файлы cookie раздела.
- вебSQL
логическое значение необязательно
Данные WebSQL веб-сайтов.
ContentScriptDetails
Подробности сценария содержимого для внедрения. Дополнительные сведения см. в документации по сценариям содержимого .
Характеристики
- все_кадры
логическое значение необязательно
Если
all_frames
имеет значениеtrue
, это означает, что JavaScript или CSS должны быть внедрены во все кадры текущей страницы. По умолчаниюall_frames
имеетfalse
, и JavaScript или CSS внедряются только в верхний фрейм. - CSS
InjectionItems необязательно
Код CSS или список файлов CSS, которые будут вставлены в соответствующие страницы. Они вводятся в том порядке, в котором они появляются, до того, как будет создан или отображен какой-либо DOM для страницы.
- исключать_глобы
строка[] необязательно
Применяется после совпадений, чтобы исключить URL-адреса, соответствующие этому шаблону. Предназначен для эмуляции ключевого слова @exclude Greasemonkey.
- исключать_матчи
строка[] необязательно
Исключает страницы, в которые в противном случае был бы внедрен этот сценарий содержимого.
- include_globs
строка[] необязательно
Применяется после совпадений, чтобы включать только те URL-адреса, которые также соответствуют этому шаблону. Предназначен для эмуляции ключевого слова @include Greasemonkey.
- js
InjectionItems необязательно
Код JavaScript или список файлов JavaScript, которые будут внедрены на соответствующие страницы. Они вводятся в том порядке, в котором они появляются.
- match_about_blank
логическое значение необязательно
Вставлять ли сценарий содержимого в about:blank и about:srcdoc. Сценарии контента будут внедряться на страницы только в том случае, если их наследуемый URL-адрес соответствует одному из объявленных шаблонов в поле совпадений. URL-адрес наследования — это URL-адрес документа, создавшего фрейм или окно. Сценарии содержимого нельзя вставлять в изолированные фреймы.
- спички
нить[]
Указывает, на какие страницы будет внедрен этот скрипт содержимого.
- имя
нить
Имя скрипта содержимого для внедрения.
- run_at
RunAt необязательно
Самое ближайшее время, когда на вкладку будет добавлен JavaScript или CSS. По умолчанию «document_idle».
ContentWindow
Дескриптор сообщения для гостевого окна.
Характеристики
- сообщениеСообщение
пустота
Публикует сообщение во встроенном веб-содержимом, пока встроенное содержимое отображает страницу из целевого источника. Этот метод доступен после завершения загрузки страницы. Прослушайте событие
contentload
, а затем вызовите метод.Гость сможет отправлять ответы средству внедрения, публикуя сообщение в
event.source
о полученном событии сообщения.Этот API идентичен API HTML5 postMessage для связи между веб-страницами. Средство внедрения может прослушивать ответы, добавляя прослушиватель событий
message
в свой собственный кадр.Функция
postMessage
выглядит так:(message: any, targetOrigin: string) => {...}
- сообщение
любой
Объект сообщения для отправки гостю.
- targetOrigin
нить
Указывает, каким должно быть происхождение гостевого окна, чтобы событие было отправлено.
ContextMenuCreateProperties
Характеристики
- проверено
логическое значение необязательно
Исходное состояние флажка или переключателя: true для выбранного и false для невыбранного. В данной группе радиоэлементов одновременно можно выбрать только один радиоэлемент.
- контексты
[ ContextType , ... ContextType []] необязательно
Список контекстов, в которых будет отображаться этот пункт меню. По умолчанию используется ['page'], если не указано иное.
- ДокументUrlPatterns
строка[] необязательно
Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это относится и к фреймам.) Подробную информацию о формате шаблона см. в разделе «Сопоставление шаблонов» .
- включено
логическое значение необязательно
Включен или отключен этот пункт контекстного меню. По умолчанию
true
. - идентификатор
строка необязательна
Уникальный идентификатор, который можно присвоить этому элементу. Обязательно для страниц мероприятий. Не может совпадать с другим идентификатором этого расширения.
- родительский идентификатор
строка | номер необязательно
Идентификатор родительского пункта меню; это делает элемент дочерним по отношению к ранее добавленному элементу.
- таргетурлпаттернс
строка[] необязательно
Аналогично documentUrlPatterns, но позволяет фильтровать на основе атрибута
src
тегов img/audio/video иhref
тегов привязки. - заголовок
строка необязательна
Текст, который будет отображаться в элементе; это требуется , если
type
не является «разделителем». Если контекстом является «выбор», вы можете использовать%s
внутри строки, чтобы отобразить выделенный текст. Например, если значение этого параметра — «Перевести «%s» на латынь свиньи», а пользователь выбирает слово «cool», пункт контекстного меню для выбора — «Перевести «cool» на латынь свиньи». - тип
Тип элемента необязательно
Тип пункта меню. По умолчанию — «нормальный», если не указано иное.
- по клику
аннулировать необязательно
Функция, которая будет вызываться при нажатии на элемент меню.
Функция
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) => {...}
- создать свойства
объект
Свойства, использованные для создания элемента
- перезвонить
функция необязательна
Параметр
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 []] необязательно
Список контекстов, в которых будет отображаться этот пункт меню.
- ДокументUrlPatterns
строка[] необязательно
Позволяет ограничить применение элемента только к документам, URL-адрес которых соответствует одному из заданных шаблонов. (Это относится и к фреймам.) Подробную информацию о формате шаблона см. в разделе «Сопоставление шаблонов» .
- включено
логическое значение необязательно
Включен или отключен этот пункт контекстного меню.
- родительский идентификатор
строка | номер необязательно
Идентификатор родительского пункта меню; это делает элемент дочерним по отношению к ранее добавленному элементу. Примечание. Вы не можете сделать элемент дочерним по отношению к одному из своих потомков.
- таргетурлпаттернс
строка[] необязательно
Аналогично documentUrlPatterns, но позволяет фильтровать на основе атрибута
src
тегов img/audio/video иhref
тегов привязки. - заголовок
строка необязательна
Текст, который будет отображаться в элементе
- тип
Тип элемента необязательно
Тип пункта меню.
- по клику
аннулировать необязательно
Функция, которая будет вызываться при нажатии на элемент меню.
Функция
onclick
выглядит так:(info: OnClickData) => {...}
- информация
Информация об элементе, по которому был сделан щелчок, и контексте, в котором произошел щелчок.
ContextType
Различные контексты, в которых может появляться меню. Указание «все» эквивалентно комбинации всех других контекстов.
Перечисление
"все" "страница" "рамка" "выбор" "связь" "редактируемый" "изображение" "видео" "аудио"
DialogController
Интерфейс, привязанный к dialog
событиям DOM.
Характеристики
- отмена
пустота
Отклонить диалог. Эквивалентно нажатию кнопки «Отмена» в диалоговом окне
confirm
илиprompt
.Функция
cancel
выглядит так:() => {...}
- хорошо
пустота
Примите диалог. Эквивалентно нажатию кнопки «ОК» в диалоговом окне
alert
,confirm
илиprompt
.Функция
ok
выглядит так:(response?: string) => {...}
- ответ
строка необязательна
Строка ответа, которую необходимо предоставить гостю при принятии диалогового окна
prompt
.
DownloadPermissionRequest
Тип объекта request
, который сопровождает событие DOM permissionrequest
download
.
Характеристики
- запросМетод
нить
Тип HTTP-запроса (например,
GET
), связанный с запросом на загрузку. - URL
нить
Запрошенный URL-адрес загрузки.
- позволять
пустота
Разрешите запрос разрешения.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос разрешения. Это поведение по умолчанию, если
allow
не вызывается.Функция
deny
выглядит так:() => {...}
FileSystemPermissionRequest
Тип объекта request
, который сопровождает событие DOM permissionrequest
filesystem
.
Характеристики
- URL
нить
URL-адрес фрейма, запрашивающего доступ к локальной файловой системе.
- позволять
пустота
Разрешите запрос разрешения.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос разрешения.
Функция
deny
выглядит так:() => {...}
FindCallbackResults
Содержит все результаты запроса на поиск.
Характеристики
- ActiveMatchOrdinal
число
Порядковый номер текущего совпадения.
- отменен
логическое значение
Указывает, был ли отменен этот запрос на поиск.
- количество совпадений
число
Количество совпадений
searchText
на странице. - выделениеRect
Описывает прямоугольник вокруг активного совпадения в экранных координатах.
FindOptions
Варианты запроса на поиск.
Характеристики
- назад
логическое значение необязательно
Флаг для поиска совпадений в обратном порядке. Значение по умолчанию —
false
. - матчКейс
логическое значение необязательно
Флаг, соответствующий чувствительности к регистру. Значение по умолчанию —
false
.
FullscreenPermissionRequest
Тип объекта request
, который сопровождает событие DOM fullscreen
permissionrequest
.
Характеристики
- источник
нить
Источник кадра внутри
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, которые будут вставлены в соответствующие страницы. Они вводятся в том порядке, в котором они появляются в этом массиве.
LoadPluginPermissionRequest
Тип объекта request
, который сопровождает событие DOM permissionrequest
loadplugin
.
Характеристики
- идентификатор
нить
Строка идентификатора плагина.
- имя
нить
Отображаемое имя плагина.
- позволять
пустота
Разрешите запрос разрешения. Это поведение по умолчанию, если
deny
не вызывается.Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос на разрешение.
Функция
deny
выглядит так:() => {...}
MediaPermissionRequest
Тип объекта request
, который сопровождает событие DOM permissionrequest
media
.
Характеристики
- URL
нить
URL-адрес кадра, запрашивающего доступ к пользовательским медиафайлам.
- позволять
пустота
Разрешите запрос разрешения.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос разрешения. Это поведение по умолчанию, если
allow
не вызывается.Функция
deny
выглядит так:() => {...}
NewWindow
Интерфейс, привязанный к событиям DOM newwindow
.
Характеристики
- прикреплять
пустота
Прикрепите запрошенную целевую страницу к существующему элементу
webview
.Функция
attach
выглядит так:(webview: object) => {...}
- веб-просмотр
объект
Элемент
webview
, к которому должна быть прикреплена целевая страница.
- отказаться
пустота
Отмените запрос нового окна.
Функция
discard
выглядит так:() => {...}
PointerLockPermissionRequest
Тип объекта request
, который сопровождает событие DOM permissionrequest
pointerLock
.
Характеристики
- LastUnlockedBySelf
логическое значение
Был ли запрашивающий кадр самым последним клиентом, удерживающим блокировку указателя.
- URL
нить
URL-адрес кадра, запрашивающего блокировку указателя.
- Пользовательский жест
логическое значение
Была ли запрошена блокировка указателя в результате жеста пользовательского ввода.
- позволять
пустота
Разрешите запрос разрешения.
Функция
allow
выглядит так:() => {...}
- отрицать
пустота
Отклонить запрос разрешения. Это поведение по умолчанию, если
allow
не вызывается.Функция
deny
выглядит так:() => {...}
SelectionRect
Описывает прямоугольник в экранных координатах.
Семантика включения подобна массиву; то есть координата (left, top)
считается содержащейся в прямоугольнике, а координата (left + width, top)
— нет.
Характеристики
- высота
число
Высота прямоугольника.
- левый
число
Расстояние от левого края экрана до левого края прямоугольника.
- вершина
число
Расстояние от верхнего края экрана до верхнего края прямоугольника.
- ширина
число
Ширина прямоугольника.
WebRequestEventInterface
Интерфейс, обеспечивающий доступ к событиям webRequest на гостевой странице. Подробную информацию о жизненном цикле webRequest и связанных с ним понятиях см. в API расширений chrome.webRequest. Примечание. Событие chrome.webRequest.onActionIgnored не поддерживается для веб-просмотров.
Чтобы проиллюстрировать, чем использование отличается от API расширений webRequest, рассмотрим следующий пример кода, который блокирует любые гостевые запросы для URL-адресов, соответствующих *://www.evil.com/*
:
webview.request.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]);
Кроме того, этот интерфейс поддерживает декларативные правила webRequest через события onRequest
и onMessage
. Подробности об API см. в разделе declarativeWebRequest
.
Обратите внимание, что условия и действия для декларативных веб-запросов веб-просмотра должны быть созданы из их аналогов chrome.webViewRequest.*
. Следующий пример кода декларативно блокирует все запросы к "example.com"
в веб-просмотре myWebview
:
var rule = {
conditions: [
new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
],
actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);
ZoomMode
Определяет, как масштабирование обрабатывается в webview
.
Перечисление
"для каждого происхождения" "за просмотр" "неполноценный"
Изменения масштаба сохранятся в исходной точке увеличенной страницы, т. е. все другие веб-просмотры в том же разделе, которые перешли к тому же исходному состоянию, также будут увеличены. Более того, изменения масштаба per-origin
сохраняются вместе с источником, а это означает, что при переходе к другим страницам в том же источнике все они будут увеличены до одного и того же коэффициента масштабирования.
Изменения масштаба вступают в силу только в этом веб-представлении, а изменения масштаба в других веб-представлениях не влияют на масштабирование этого веб-представления. Кроме того, изменения масштаба per-view
сбрасываются при навигации; при навигации по веб-просмотру страницы всегда загружаются с коэффициентами масштабирования для каждого источника (в пределах раздела).
Отключает любое масштабирование в веб-просмотре. Содержимое вернется к уровню масштабирования по умолчанию, и все попытки изменения масштаба будут игнорироваться.
Характеристики
contentWindow
Ссылка на объект, которую можно использовать для публикации сообщений на гостевой странице.
Тип
contextMenus
Похож на API ContextMenus в Chrome , но применяется к webview
, а не к браузеру. Используйте API webview.contextMenus
для добавления элементов в контекстное меню webview
. Вы можете выбрать, к каким типам объектов будут применяться дополнения контекстного меню, например к изображениям, гиперссылкам и страницам.
Тип
request
Интерфейс, обеспечивающий доступ к событиям webRequest на гостевой странице.
Методы
addContentScripts()
chrome.webviewTag.addContentScripts(
contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
)
Добавляет правила внедрения сценариев контента в webview
. Когда webview
переходит на страницу, соответствующую одному или нескольким правилам, будут внедрены связанные сценарии. Вы можете программно добавлять правила или обновлять существующие правила.
В следующем примере в webview
добавляются два правила: «myRule» и «anotherRule».
webview.addContentScripts([
{
name: 'myRule',
matches: ['http://www.foo.com/*'],
css: { files: ['mystyles.css'] },
js: { files: ['jquery.js', 'myscript.js'] },
run_at: 'document_start'
},
{
name: 'anotherRule',
matches: ['http://www.bar.com/*'],
js: { code: "document.body.style.backgroundColor = 'red';" },
run_at: 'document_end'
}]);
...
// Navigates webview.
webview.src = 'http://www.foo.com';
Вы можете отложить вызов addContentScripts до тех пор, пока вам не понадобится внедрить скрипты.
В следующем примере показано, как перезаписать существующее правило.
webview.addContentScripts([{
name: 'rule',
matches: ['http://www.foo.com/*'],
js: { files: ['scriptA.js'] },
run_at: 'document_start'}]);
// Do something.
webview.src = 'http://www.foo.com/*';
...
// Overwrite 'rule' defined before.
webview.addContentScripts([{
name: 'rule',
matches: ['http://www.bar.com/*'],
js: { files: ['scriptB.js'] },
run_at: 'document_end'}]);
Если webview
был направлен к источнику (например, foo.com) и вызывает webview.addContentScripts
для добавления «myRule», вам нужно дождаться следующей навигации, чтобы внедрить сценарии. Если вам нужна немедленная инъекция, executeScript
сделает правильный выбор.
Правила сохраняются, даже если гостевой процесс выходит из строя или завершается, или даже если webview
переназначается.
Дополнительные сведения см. в документации по сценариям содержимого .
Параметры
- контентскриптлист
[ ContentScriptDetails , ... ContentScriptDetails []]
Подробная информация о сценариях контента, которые нужно добавить.
back()
chrome.webviewTag.back(
callback?: function,
)
Переход назад на одну запись истории, если это возможно. Эквивалент go(-1)
.
Параметры
- перезвонить
функция необязательна
Хром 44+Параметр
callback
выглядит так:(success: boolean) => void
- успех
логическое значение
Указывает, была ли навигация успешной.
canGoBack()
chrome.webviewTag.canGoBack()
Указывает, можно ли перемещаться по истории назад. Состояние этой функции кэшируется и обновляется перед каждым loadcommit
, поэтому лучшее место для ее вызова — loadcommit
.
Возврат
логическое значение
canGoForward()
chrome.webviewTag.canGoForward()
Указывает, можно ли перемещаться вперед по истории. Состояние этой функции кэшируется и обновляется перед каждым loadcommit
, поэтому лучшее место для ее вызова — loadcommit
.
Возврат
логическое значение
captureVisibleRegion()
chrome.webviewTag.captureVisibleRegion(
options?: ImageDetails,
callback: function,
)
Захватывает видимую область веб-просмотра.
Параметры
- параметры
Детали изображения необязательно
- перезвонить
функция
Параметр
callback
выглядит так:(dataUrl: string) => void
- URL-адрес данных
нить
URL-адрес данных, который кодирует изображение видимой области захваченной вкладки. Может быть назначен свойству 'src' элемента изображения HTML для отображения.
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
)
Очищает данные просмотра для раздела webview
.
Параметры
- параметры
Параметры, определяющие, какие данные следует очистить.
- типы
Типы данных, подлежащих удалению.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
)
Внедряет код JavaScript на гостевую страницу.
В следующем примере кода используется внедрение сценария, чтобы установить красный цвет фона гостевой страницы:
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
Параметры
- подробности
Подробности сценария для запуска.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(result?: any[]) => void
- результат
любой[] необязательно
Результат скрипта в каждом внедренном кадре.
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
)
Инициирует запрос поиска на странице.
Параметры
- поискТекст
нить
Строка, которую нужно найти на странице.
- параметры
Найти параметры необязательно
Варианты запроса на поиск.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(results?: FindCallbackResults) => void
- результаты
FindCallbackResults необязательно
Содержит все результаты запроса на поиск.
results
могут быть опущены, если они не используются в теле функции обратного вызова; например, если обратный вызов используется только для определения момента завершения запроса на поиск.
forward()
chrome.webviewTag.forward(
callback?: function,
)
Если возможно, перемещается вперед на одну запись истории. Эквивалент go(1)
.
Параметры
- перезвонить
функция необязательна
Хром 44+Параметр
callback
выглядит так:(success: boolean) => void
- успех
логическое значение
Указывает, была ли навигация успешной.
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
)
Запрашивает состояние звука.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(audible: boolean) => void
- слышимый
логическое значение
getProcessId()
chrome.webviewTag.getProcessId()
Возвращает внутренний идентификатор процесса Chrome для текущего процесса гостевой веб-страницы, что позволяет специалистам по внедрению узнать, на скольких гостей повлияет завершение процесса. Два гостя будут совместно использовать процесс только в том случае, если они принадлежат к одному приложению и имеют одинаковый идентификатор раздела хранилища . Вызов является синхронным и возвращает кэшированное представление средства внедрения текущего идентификатора процесса. Идентификатор процесса не совпадает с идентификатором процесса операционной системы.
Возврат
число
getUserAgent()
chrome.webviewTag.getUserAgent()
Возвращает строку пользовательского агента, используемую webview
для запросов гостевой страницы.
Возврат
нить
getZoom()
chrome.webviewTag.getZoom(
callback: function,
)
Получает текущий коэффициент масштабирования.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(zoomFactor: number) => void
- ZoomFactor
число
Текущий коэффициент масштабирования.
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
)
Получает текущий режим масштабирования.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(ZoomMode: ZoomMode) => void
- Режим масштабирования
Текущий режим масштабирования
webview
.
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
)
Переход к записи истории с использованием индекса истории относительно текущей навигации. Если запрошенная навигация невозможна, этот метод не имеет эффекта.
Параметры
- относительныйиндекс
число
Относительный индекс истории, к которому следует перейти
webview
. Например, значение2
будет, если возможно, переходить на 2 записи истории вперед; значение-3
приведет к переходу на 3 записи назад. - перезвонить
функция необязательна
Параметр
callback
выглядит так:(success: boolean) => void
- успех
логическое значение
Указывает, была ли навигация успешной.
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
)
Внедряет CSS на гостевую страницу.
Параметры
- подробности
Подробности CSS для вставки.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
)
Запрашивает, отключен ли звук.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(muted: boolean) => void
- приглушенный
логическое значение
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
)
Запрашивает, включена ли пространственная навигация для веб-просмотра.
Параметры
функция
Параметр
callback
выглядит так:(enabled: boolean) => void
логическое значение
isUserAgentOverridden()
chrome.webviewTag.isUserAgentOverridden()
Указывает, была ли строка пользовательского агента webview
переопределена с помощью webviewTag.setUserAgentOverride
.
loadDataWithBaseUrl()
chrome.webviewTag.loadDataWithBaseUrl(
dataUrl: string,
baseUrl: string,
virtualUrl?: string,
)
Загружает URL-адрес данных с указанным базовым URL-адресом, используемым для относительных ссылок. При желании можно предоставить виртуальный URL-адрес, который будет отображаться пользователю вместо URL-адреса данных.
Параметры
- URL-адрес данных
нить
URL-адрес данных для загрузки.
- базовый URL-адрес
нить
Базовый URL-адрес, который будет использоваться для относительных ссылок.
- виртуальный URL
строка необязательна
URL-адрес, который будет отображаться пользователю (в адресной строке).
print()
chrome.webviewTag.print()
Печатает содержимое webview
. Это эквивалентно вызову скриптовой функции печати из самого webview
.
reload()
chrome.webviewTag.reload()
Перезагружает текущую страницу верхнего уровня.
removeContentScripts()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
)
Удаляет сценарии содержимого из webview
.
В следующем примере удаляется добавленное ранее «myRule».
webview.removeContentScripts(['myRule']);
Вы можете удалить все правила, вызвав:
webview.removeContentScripts();
Параметры
- список имен скриптов
строка[] необязательно
Список названий сценариев содержимого, которые будут удалены. Если список пуст, все сценарии содержимого, добавленные в
webview
будут удалены.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
)
Устанавливает состояние отключения звука в веб-просмотре.
Параметры
- немой
логическое значение
Значение отключения звука
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
)
Устанавливает состояние пространственной навигации веб-просмотра.
Параметры
логическое значение
Значение состояния пространственной навигации.
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
)
Переопределить строку пользовательского агента, используемую webview
для запросов гостевой страницы. Переопределение приведет к тому, что значения заголовка User-Agent Client Hint и значения, возвращаемые navigator.userAgentData
станут пустыми для запросов гостевой страницы, к которым применяется это переопределение.
Параметры
- пользовательский агент
нить
Используемая строка пользовательского агента.
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
)
Изменяет коэффициент масштабирования страницы. Объем и постоянство этого изменения определяются текущим режимом масштабирования веб-просмотра (см. webviewTag.ZoomMode
).
Параметры
- ZoomFactor
число
Новый коэффициент масштабирования.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
)
Устанавливает режим масштабирования webview
.
Параметры
- Режим масштабирования
Определяет, как масштабирование обрабатывается в
webview
. - перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
stop()
chrome.webviewTag.stop()
Останавливает загрузку текущей навигации webview
, если она выполняется.
stopFinding()
chrome.webviewTag.stopFinding(
action?: "clear"
| "keep"
| "activate"
,
)
Завершает текущий сеанс поиска (очищая все выделения) и отменяет все текущие запросы поиска.
Параметры
- действие
"прозрачный"
| "держать"
| "активировать"
необязательныйОпределяет, что делать с активным совпадением после завершения сеанса поиска.
clear
очистит выделение активного совпадения;keep
сохранит активное совпадение выделенным;activate
сохранит активное совпадение выделенным и имитирует щелчок пользователя по этому совпадению. Действие по умолчанию —keep
.
terminate()
chrome.webviewTag.terminate()
Принудительно завершает процесс рендеринга гостевой веб-страницы. Это может повлиять на несколько тегов webview
в текущем приложении, если они используют один и тот же процесс, но не повлияет на теги webview
в других приложениях.
События
close
chrome.webviewTag.close.addListener(
callback: function,
)
Вызывается, когда гостевое окно пытается закрыться.
Следующий пример кода перемещает webview
по about:blank
когда гость пытается закрыться.
webview.addEventListener('close', function() {
webview.src = 'about:blank';
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
Вызывается, когда гостевое окно регистрирует консольное сообщение.
В следующем примере кода все сообщения журнала пересылаются на консоль внедрителя без учета уровня журнала или других свойств.
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(level: number, message: string, line: number, sourceId: string) => void
- уровень
число
- сообщение
нить
- линия
число
- идентификатор источника
нить
contentload
chrome.webviewTag.contentload.addListener(
callback: function,
)
Вызывается, когда гостевое окно генерирует событие load
, т. е. когда загружается новый документ. Сюда не входит навигация по страницам текущего документа или асинхронная загрузка ресурсов.
Следующий пример кода изменяет размер шрифта по умолчанию для элемента body
гостя после загрузки страницы:
webview.addEventListener('contentload', function() {
webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
Вызывается, когда гостевое окно пытается открыть модальное диалоговое окно через window.alert
, window.confirm
или window.prompt
.
Обработка этого события заблокирует гостевой процесс до тех пор, пока не вернется каждый прослушиватель событий или пока объект dialog
не станет недоступным (если был вызван preventDefault()
).
Поведение по умолчанию — отмена диалога.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(messageType: "alert"
| "confirm"
| "prompt"
, messageText: string, dialog: DialogController) => void- тип сообщения
"тревога"
| "подтверждать"
| "быстрый" - сообщениеТекст
нить
- диалог
exit
chrome.webviewTag.exit.addListener(
callback: function,
)
Запускается, когда процесс рендеринга гостевого веб-контента завершился.
Следующий пример кода будет отображать прощальное сообщение при каждом сбое гостевой страницы:
webview.addEventListener('exit', function(e) {
if (e.reason === 'crash') {
webview.src = 'data:text/plain,Goodbye, world!';
}
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(processID: number, reason: "normal"
| "abnormal"
| "crash"
| "kill"
) => void- идентификатор процесса
число
- причина
"нормальный"
| "аномальный"
| "крушение"
| "убийство"
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
Вызывается, когда для активного запроса поиска доступны новые результаты поиска. Это может произойти несколько раз для одного запроса на поиск по мере обнаружения совпадений.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
- поискТекст
нить
- количество совпадений
число
- ActiveMatchOrdinal
число
- выделениеRect
- отменен
логическое значение
- окончательное обновление
нить
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
Вызывается, когда загрузка верхнего уровня прервалась без фиксации. Сообщение об ошибке будет выведено на консоль, если событие не предотвращено по умолчанию.
Примечание. Когда загрузка ресурса прерывается, за событием loadabort
в конечном итоге последует событие loadstop
, даже если все зафиксированные загрузки с момента последнего события loadstop
(если таковое было) были прерваны.
Примечание. Когда загрузка URL-адреса «About» или URL-адреса JavaScript прерывается, будет запущена loadabort
, а затем webview
будет переведен на «about:blank».
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(url: string, isTopLevel: boolean, code: number, reason: "ERR_ABORTED"
| "ERR_INVALID_URL"
| "ERR_DISALLOWED_URL_SCHEME"
| "ERR_BLOCKED_BY_CLIENT"
| "ERR_ADDRESS_UNREACHABLE"
| "ERR_EMPTY_RESPONSE"
| "ERR_FILE_NOT_FOUND"
| "ERR_UNKNOWN_URL_SCHEME"
) => void- URL
нить
- isTopLevel
логическое значение
- код
число
- причина
"ERR_ABORTED"
| "ERR_INVALID_URL"
| "ERR_DISALLOWED_URL_SCHEME"
| "ERR_BLOCKED_BY_CLIENT"
| "ERR_ADDRESS_UNREACHABLE"
| "ERR_EMPTY_RESPONSE"
| "ERR_FILE_NOT_FOUND"
| "ERR_UNKNOWN_URL_SCHEME"
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
Вызывается, когда загрузка зафиксирована. Сюда входит навигация внутри текущего документа, а также загрузка на уровне документа подкадра, но не включается асинхронная загрузка ресурсов.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(url: string, isTopLevel: boolean) => void
- URL
нить
- isTopLevel
логическое значение
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
Запускается, когда запрос загрузки верхнего уровня перенаправляется на другой URL-адрес.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
- старый URL
нить
- новый URL
нить
- isTopLevel
логическое значение
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
Срабатывает, когда началась загрузка.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(url: string, isTopLevel: boolean) => void
- URL
нить
- isTopLevel
логическое значение
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
Запускается, когда все загрузки на уровне фрейма на гостевой странице (включая все ее подкадры) завершены. Сюда входит навигация внутри текущего документа, а также загрузка на уровне документа подкадра, но не включается асинхронная загрузка ресурсов. Это событие срабатывает каждый раз, когда количество загрузок на уровне документа переходит от одного (или более) к нулю. Например, если страница, которая уже завершила загрузку (т. е. loadstop
уже запущен один раз), создает новый iframe, который загружает страницу, то второй loadstop
сработает, когда загрузка страницы iframe завершится. Эта закономерность обычно наблюдается на страницах, на которых загружается реклама.
Примечание. Когда зафиксированная загрузка прерывается, событие loadstop
в конечном итоге следует за событием loadabort
, даже если все зафиксированные загрузки с момента последнего события loadstop
(если таковое было) были прерваны.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:() => void
newwindow
chrome.webviewTag.newwindow.addListener(
callback: function,
)
Вызывается, когда гостевая страница пытается открыть новое окно браузера.
В следующем примере кода будет создано новое webview
и навигация по нему в средстве внедрения для каждого запрошенного нового окна:
webview.addEventListener('newwindow', function(e) {
var newWebview = document.createElement('webview');
document.body.appendChild(newWebview);
e.window.attach(newWebview);
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: "ignore"
| "save_to_disk"
| "current_tab"
| "new_background_tab"
| "new_foreground_tab"
| "new_window"
| "new_popup"
) => void- окно
- целевой URL
нить
- начальная ширина
число
- начальная высота
число
- имя
нить
- окноOpenDisposition
"игнорировать"
| "сохранить_на_диск"
| "current_tab"
| "new_background_tab"
| "new_foreground_tab"
| "новое_окно"
| "новое_попап"
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
Запускается, когда гостевой странице необходимо запросить специальное разрешение у встраивателя.
Следующий пример кода предоставит гостевой странице доступ к API webkitGetUserMedia
. Обратите внимание, что приложение, использующее этот пример кода, само должно указать разрешения манифеста audioCapture
и/или videoCapture
:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(permission: "media"
| "geolocation"
| "pointerLock"
| "download"
| "loadplugin"
| "filesystem"
| "fullscreen"
| "hid"
, request: object) => void- разрешение
"СМИ"
| "геолокация"
| "указательLock"
| "скачать"
| "loadplugin"
| "файловая система"
| "полноэкранный"
| "спрятался" - запрос
объект
responsive
chrome.webviewTag.responsive.addListener(
callback: function,
)
Запускается, когда процесс рендеринга гостевого веб-контента снова стал отвечать после того, как не отвечал.
В следующем примере кода элемент webview
будет постепенно появляться или исчезать по мере того, как он становится отзывчивым или перестает отвечать на запросы:
webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
webview.style.opacity = '1';
});
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(processID: number) => void
- идентификатор процесса
число
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
Вызывается, когда размер встроенного веб-контента был изменен с помощью autosize
. Срабатывает только в том случае, если включен autosize
.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
- старая ширина
число
- стараявысота
число
- новаяширина
число
- новаяВысота
число
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
Запускается, когда процесс рендеринга гостевого веб-контента перестает отвечать на запросы. Это событие будет сгенерировано один раз с соответствующим ответным событием, если гость снова начнет отвечать.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(processID: number) => void
- идентификатор процесса
число
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
Вызывается при изменении масштаба страницы.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(oldZoomFactor: number, newZoomFactor: number) => void
- старыйZoomFactor
число
- новыйZoomFactor
число