Description
Utilisez la balise webview
pour charger activement du contenu en direct depuis le Web sur le réseau et l'intégrer à votre application Chrome. Votre application peut contrôler l'apparence de webview
et interagir avec le contenu Web, lancer des navigations dans une page Web intégrée, réagir aux événements d'erreur qui s'y produisent, et plus encore (voir Utilisation).
Autorisations
webview
Types
ClearDataOptions
Options qui déterminent les données à effacer par clearData
.
Propriétés
-
depuis
number facultatif
Efface les données accumulées à cette date ou après, représentées en millisecondes depuis l'époque (accessibles via la méthode getTime de l'objet JavaScript
Date
). Si ce paramètre est absent, la valeur par défaut est0
(qui supprime toutes les données de navigation).
ClearDataTypeSet
Ensemble de types de données. Les propriétés manquantes sont interprétées comme false
.
Propriétés
-
appcache
booléen facultatif
Les caches d'application des sites Web.
-
cache
booléen facultatif
Chrome 44 et versions ultérieuresDepuis Chrome 43. le cache du navigateur. Remarque : Lorsque vous supprimez des données, l'intégralité du cache est effacée. La suppression n'est pas limitée à la plage que vous spécifiez.
-
cookies
booléen facultatif
Cookies de la partition.
-
fileSystems
booléen facultatif
Systèmes de fichiers des sites Web.
-
indexedDB
booléen facultatif
Données IndexedDB des sites Web.
-
localStorage
booléen facultatif
Données de stockage local des sites Web.
-
persistentCookies
booléen facultatif
Chrome 58 et versions ultérieuresCookies persistants de la partition.
-
sessionCookies
booléen facultatif
Chrome 58 et versions ultérieuresCookies de session de la partition.
-
webSQL
booléen facultatif
Données WebSQL des sites Web.
ContentScriptDetails
Détails du script de contenu à injecter. Pour en savoir plus, consultez la documentation sur les scripts de contenu.
Propriétés
-
all_frames
booléen facultatif
Si
all_frames
est défini surtrue
, cela signifie que le code JavaScript ou CSS doit être injecté dans tous les cadres de la page actuelle. Par défaut,all_frames
est défini surfalse
et le code JavaScript ou CSS n'est injecté que dans le frame supérieur. -
css
InjectionItems facultatif
Code CSS ou liste de fichiers CSS à injecter dans les pages correspondantes. Ils sont injectés dans l'ordre dans lequel ils apparaissent, avant que le DOM ne soit construit ou affiché pour la page.
-
exclude_globs
string[] facultatif
Appliqué après les correspondances pour exclure les URL correspondant à ce glob. Destiné à émuler le mot clé @exclude de Greasemonkey.
-
exclude_matches
string[] facultatif
Exclut les pages dans lesquelles ce script de contenu serait normalement injecté.
-
include_globs
string[] facultatif
Appliqué après les correspondances pour n'inclure que les URL qui correspondent également à ce glob. Destiné à émuler le mot clé @include de Greasemonkey.
-
js
InjectionItems facultatif
Code JavaScript ou liste de fichiers JavaScript à injecter dans les pages correspondantes. Elles sont injectées dans l'ordre dans lequel elles apparaissent.
-
match_about_blank
booléen facultatif
Indique si le script de contenu doit être inséré sur about:blank et about:srcdoc. Les scripts de contenu ne seront injectés sur les pages que lorsque leur URL héritée correspond à l'un des formats déclarés dans le champ "matches". L'URL d'héritage est celle du document qui a créé le frame ou la fenêtre. Les scripts de contenu ne peuvent pas être insérés dans des cadres sandboxés.
-
correspond à
chaîne[]
Indique les pages dans lesquelles ce script de contenu sera injecté.
-
nom
chaîne
Nom du script de contenu à injecter.
-
run_at
RunAt facultatif
Date et heure les plus proches auxquelles le code JavaScript ou CSS sera injecté dans l'onglet. La valeur par défaut est "document_idle".
ContentWindow
Identifiant de messagerie d'une fenêtre invitée.
Propriétés
-
postMessage
vide
Publie un message dans le contenu Web intégré, à condition que celui-ci affiche une page provenant de l'origine cible. Cette méthode est disponible une fois le chargement de la page terminé. Écoutez l'événement
contentload
, puis appelez la méthode.L'invité pourra envoyer des réponses à l'intégrateur en publiant un message sur
event.source
dans l'événement de message qu'il reçoit.Cette API est identique à l'API HTML5 postMessage pour la communication entre les pages Web. L'intégrateur peut écouter les réponses en ajoutant un écouteur d'événements
message
à son propre frame.La fonction
postMessage
se présente comme suit :(message: any, targetOrigin: string) => {...}
-
message
tous
Objet de message à envoyer à l'invité.
-
targetOrigin
chaîne
Indique l'origine de la fenêtre invitée pour que l'événement soit distribué.
-
ContextMenuCreateProperties
Propriétés
-
coché
booléen facultatif
État initial d'une case à cocher ou d'un bouton radio : "true" pour sélectionné et "false" pour non sélectionné. Dans un groupe de cases d'option, vous ne pouvez en sélectionner qu'une seule à la fois.
-
contexts
[ContextType, ...ContextType[]] facultatif
Liste des contextes dans lesquels cet élément de menu s'affichera. Si aucune valeur n'est spécifiée, la valeur par défaut est ['page'].
-
documentUrlPatterns
string[] facultatif
Vous permet de limiter l'élément aux documents dont l'URL correspond à l'un des formats indiqués. (Cela s'applique également aux cadres.) Pour en savoir plus sur le format d'un modèle, consultez Formats de correspondance.
-
activé
booléen facultatif
Indique si cet élément de menu contextuel est activé ou désactivé. La valeur par défaut est
true
. -
id
chaîne facultative
Identifiant unique à attribuer à cet élément. Obligatoire pour les pages d'événements. Il ne peut pas être identique à un autre ID pour cette extension.
-
parentId
string | number facultatif
ID d'un élément de menu parent. L'élément devient ainsi un enfant d'un élément ajouté précédemment.
-
targetUrlPatterns
string[] facultatif
Semblable à documentUrlPatterns, mais vous permet de filtrer en fonction de l'attribut
src
des balises img/audio/video et de l'attributhref
des balises d'ancrage. -
titre
chaîne facultative
Texte à afficher dans l'élément. Ce paramètre est obligatoire, sauf si
type
est défini sur "separator". Lorsque le contexte est "selection", vous pouvez utiliser%s
dans la chaîne pour afficher le texte sélectionné. Par exemple, si la valeur de ce paramètre est "Traduire '%s' en Pig Latin" et que l'utilisateur sélectionne le mot "cool", l'élément de menu contextuel pour la sélection est "Traduire 'cool' en Pig Latin". -
type
ItemType facultatif
Type de l'élément de menu. En l'absence de spécification, la valeur par défaut est "normal".
-
onclick
void optional
Fonction qui sera rappelée lorsque l'utilisateur cliquera sur l'élément de menu.
La fonction
onclick
se présente comme suit :(info: OnClickData) => {...}
-
info
Informations sur l'élément sur lequel l'utilisateur a cliqué et sur le contexte dans lequel le clic s'est produit.
-
ContextMenus
Propriétés
-
onShow
Event<functionvoidvoid>
Déclenché avant l'affichage d'un menu contextuel sur ce
webview
. Peut être utilisé pour désactiver ce menu contextuel en appelantevent.preventDefault()
.La fonction
onShow.addListener
se présente comme suit :(callback: function) => {...}
-
callback
fonction
Le paramètre
callback
se présente comme suit :(event: object) => void
-
événement
objet
-
preventDefault
vide
Appelez cette méthode pour empêcher l'affichage du menu contextuel.
La fonction
preventDefault
se présente comme suit :() => {...}
-
-
-
-
create
vide
Crée un élément de menu contextuel. Notez que si une erreur se produit lors de la création, vous ne le saurez peut-être qu'une fois le rappel de création déclenché (les détails se trouveront dans
runtime.lastError
).La fonction
create
se présente comme suit :(createProperties: object, callback?: function) => {...}
-
createProperties
objet
Propriétés utilisées pour créer l'élément
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
-
Renvoie
string | number
Identifiant de l'élément récemment créé.
-
-
supprimer
vide
Supprime un élément de menu contextuel.
La fonction
remove
se présente comme suit :(menuItemId: string | number, callback?: function) => {...}
-
string | number
ID de l'élément de menu contextuel à supprimer.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
-
-
removeAll
vide
Supprime tous les éléments de menu contextuel ajoutés à ce
webview
.La fonction
removeAll
se présente comme suit :(callback?: function) => {...}
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
-
-
update
vide
Met à jour un élément de menu contextuel créé précédemment.
La fonction
update
se présente comme suit :(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
string | number
ID de l'article à modifier.
-
updateProperties
objet
Propriétés à mettre à jour. Accepte les mêmes valeurs que la fonction de création.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
-
ContextMenuUpdateProperties
Propriétés
-
coché
booléen facultatif
État d'une case à cocher ou d'un bouton radio : "true" (vrai) si l'élément est sélectionné et "false" (faux) s'il ne l'est pas. Dans un groupe de cases d'option, vous ne pouvez en sélectionner qu'une seule à la fois.
-
contexts
[ContextType, ...ContextType[]] facultatif
Liste des contextes dans lesquels cet élément de menu s'affichera.
-
documentUrlPatterns
string[] facultatif
Vous permet de limiter l'élément aux documents dont l'URL correspond à l'un des formats indiqués. (Cela s'applique également aux cadres.) Pour en savoir plus sur le format d'un modèle, consultez Formats de correspondance.
-
activé
booléen facultatif
Indique si cet élément de menu contextuel est activé ou désactivé.
-
parentId
string | number facultatif
ID d'un élément de menu parent. L'élément devient ainsi un enfant d'un élément ajouté précédemment. Remarque : Vous ne pouvez pas définir un élément comme enfant de l'un de ses propres descendants.
-
targetUrlPatterns
string[] facultatif
Semblable à documentUrlPatterns, mais vous permet de filtrer en fonction de l'attribut
src
des balises img/audio/video et de l'attributhref
des balises d'ancrage. -
titre
chaîne facultative
Texte à afficher dans l'élément
-
type
ItemType facultatif
Type de l'élément de menu.
-
onclick
void optional
Fonction qui sera rappelée lorsque l'utilisateur cliquera sur l'élément de menu.
La fonction
onclick
se présente comme suit :(info: OnClickData) => {...}
-
info
Informations sur l'élément sur lequel l'utilisateur a cliqué et sur le contexte dans lequel le clic s'est produit.
-
ContextType
Les différents contextes dans lesquels un menu peut apparaître. Spécifier "all" équivaut à la combinaison de tous les autres contextes.
Énumération
"all"
"page"
"frame"
"selection"
"link"
"editable"
"image"
"video"
"audio"
DialogController
Interface associée aux événements DOM dialog
.
Propriétés
-
annuler
vide
Refusez la boîte de dialogue. Équivaut à cliquer sur "Annuler" dans une boîte de dialogue
confirm
ouprompt
.La fonction
cancel
se présente comme suit :() => {...}
-
ok
vide
Acceptez la boîte de dialogue. Équivaut à cliquer sur "OK" dans une boîte de dialogue
alert
,confirm
ouprompt
.La fonction
ok
se présente comme suit :(response?: string) => {...}
-
réponse
chaîne facultative
Chaîne de réponse à fournir à l'invité lors de l'acceptation d'une boîte de dialogue
prompt
.
-
DialogMessageType
Type de boîte de dialogue modale demandée par l'invité.
Énumération
"alert"
"confirm"
"prompt"
DownloadPermissionRequest
Type d'objet request
qui accompagne un événement DOM download
permissionrequest
.
Propriétés
-
requestMethod
chaîne
Type de requête HTTP (par exemple,
GET
) associé à la demande de téléchargement. -
url
chaîne
URL de téléchargement demandée.
-
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation. Il s'agit du comportement par défaut si
allow
n'est pas appelé.La fonction
deny
se présente comme suit :() => {...}
ExitReason
Chaîne indiquant le motif de la sortie.
Énumération
"normal"
"abnormal"
"crashed"
"killed"
"oom killed"
"oom"
"Échec du lancement"
"integrity failure"
FileSystemPermissionRequest
Type d'objet request
qui accompagne un événement DOM filesystem
permissionrequest
.
Propriétés
-
url
chaîne
URL du frame demandant l'accès au système de fichiers local.
-
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation.
La fonction
deny
se présente comme suit :() => {...}
FindCallbackResults
Contient tous les résultats de la requête de recherche.
Propriétés
-
activeMatchOrdinal
Total
Numéro ordinal du match en cours.
-
annulée
booléen
Indique si cette demande de recherche a été annulée.
-
numberOfMatches
Total
Nombre de fois où
searchText
a été trouvé sur la page. -
selectionRect
Décrit un rectangle autour de la correspondance active en coordonnées d'écran.
FindOptions
Options de la requête de recherche.
Propriétés
-
en arrière
booléen facultatif
Indicateur permettant de trouver les correspondances dans l'ordre inverse. La valeur par défaut est
false
. -
matchCase
booléen facultatif
Indicateur de correspondance sensible à la casse. La valeur par défaut est
false
.
FullscreenPermissionRequest
Type d'objet request
qui accompagne un événement DOM fullscreen
permissionrequest
.
Propriétés
-
origin
chaîne
Origine du frame dans le
webview
qui a initié la requête plein écran. -
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation.
La fonction
deny
se présente comme suit :() => {...}
GeolocationPermissionRequest
Type d'objet request
qui accompagne un événement DOM geolocation
permissionrequest
.
Propriétés
-
url
chaîne
URL du frame demandant l'accès aux données de géolocalisation.
-
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation. Il s'agit du comportement par défaut si
allow
n'est pas appelé.La fonction
deny
se présente comme suit :() => {...}
HidPermissionRequest
Type d'objet request
qui accompagne un événement DOM hid
permissionrequest
.
Propriétés
-
url
chaîne
URL du frame demandant l'accès à l'API HID.
-
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation. Il s'agit du comportement par défaut si
allow
n'est pas appelé.La fonction
deny
se présente comme suit :() => {...}
InjectDetails
Détails du script ou du CSS à injecter. Vous devez définir la propriété "code" ou "file", mais pas les deux en même temps.
Propriétés
-
code
chaîne facultative
Code JavaScript ou CSS à injecter.
Avertissement : Soyez prudent lorsque vous utilisez le paramètre
code
. Une utilisation incorrecte peut rendre votre application vulnérable aux attaques par scripts intersites. -
fichier
chaîne facultative
Fichier JavaScript ou CSS à injecter.
InjectionItems
Type d'élément d'injection : code ou ensemble de fichiers.
Propriétés
-
code
chaîne facultative
Code JavaScript ou CSS à injecter dans les pages correspondantes.
-
fichiers
string[] facultatif
Liste des fichiers JavaScript ou CSS à injecter dans les pages correspondantes. Ils sont injectés dans l'ordre dans lequel ils apparaissent dans ce tableau.
LoadAbortReason
Chaîne indiquant le type d'abandon. Il n'est pas garanti que cette chaîne reste rétrocompatible entre les versions. Vous ne devez pas analyser son contenu ni agir en fonction de celui-ci. Il est également possible que, dans certains cas, une erreur non listée ici soit signalée.
Énumération
"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
Type d'objet request
qui accompagne un événement DOM loadplugin
permissionrequest
.
Propriétés
-
identifiant
chaîne
Chaîne d'identification du plug-in.
-
nom
chaîne
Nom à afficher du plug-in.
-
allow
vide
Autorisez la demande d'autorisation. Il s'agit du comportement par défaut si
deny
n'est pas appelé.La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation.
La fonction
deny
se présente comme suit :() => {...}
MediaPermissionRequest
Type d'objet request
qui accompagne un événement DOM media
permissionrequest
.
Propriétés
-
url
chaîne
URL du frame demandant l'accès aux contenus multimédias de l'utilisateur.
-
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation. Il s'agit du comportement par défaut si
allow
n'est pas appelé.La fonction
deny
se présente comme suit :() => {...}
NewWindow
Interface associée aux événements DOM newwindow
.
Propriétés
-
joindre
vide
Associez la page cible demandée à un élément
webview
existant.La fonction
attach
se présente comme suit :(webview: object) => {...}
-
webview
objet
Élément
webview
auquel la page cible doit être associée.
-
-
supprimer
vide
Annulez la demande de nouvelle fenêtre.
La fonction
discard
se présente comme suit :() => {...}
PermissionType
Type d'autorisation demandée.
Énumération
"media"
"geolocation"
"pointerLock"
"download"
"loadplugin"
"filesystem"
"fullscreen"
"hid"
PointerLockPermissionRequest
Type d'objet request
qui accompagne un événement DOM pointerLock
permissionrequest
.
Propriétés
-
lastUnlockedBySelf
booléen
Indique si le frame à l'origine de la requête était le client le plus récent à avoir verrouillé le pointeur.
-
url
chaîne
URL du frame demandant le verrouillage du pointeur.
-
userGesture
booléen
Indique si le verrouillage du pointeur a été demandé à la suite d'un geste de saisie utilisateur.
-
allow
vide
Autorisez la demande d'autorisation.
La fonction
allow
se présente comme suit :() => {...}
-
deny
vide
Refusez la demande d'autorisation. Il s'agit du comportement par défaut si
allow
n'est pas appelé.La fonction
deny
se présente comme suit :() => {...}
SelectionRect
Décrit un rectangle en coordonnées d'écran.
La sémantique de confinement est semblable à celle d'un tableau. Autrement dit, la coordonnée (left, top)
est considérée comme contenue dans le rectangle, mais pas la coordonnée (left + width, top)
.
Propriétés
-
hauteur
Total
Hauteur du rectangle.
-
gauche
Total
Distance entre le bord gauche de l'écran et le bord gauche du rectangle.
-
top
Total
Distance entre le bord supérieur de l'écran et le bord supérieur du rectangle.
-
largeur
Total
Largeur du rectangle.
StopFindingAction
Détermine ce qu'il faut faire avec la partie en cours une fois la session de recherche terminée. clear
: efface la mise en surbrillance de la correspondance active.
keep
: conserve la mise en surbrillance de la correspondance active.
activate
: conserve la mise en surbrillance de la correspondance active et simule un clic de l'utilisateur sur cette correspondance. L'action par défaut est keep
.
Énumération
"clear"
"keep"
"activer"
WebRequestEventInterface
Interface qui permet d'accéder aux événements webRequest sur la page invitée. Consultez l'API d'extension chrome.webRequest pour en savoir plus sur le cycle de vie de webRequest et les concepts associés. Remarque : L'événement chrome.webRequest.onActionIgnored n'est pas compatible avec les WebViews.
Pour illustrer la différence d'utilisation par rapport à l'API webRequest des extensions, prenons l'exemple de code suivant, qui bloque toutes les requêtes d'invités pour les URL correspondant à *://www.evil.com/*
:
webview.request.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]);
De plus, cette interface est compatible avec les règles webRequest déclaratives via les événements onRequest
et onMessage
. Pour en savoir plus sur l'API, consultez declarativeWebRequest
.
Notez que les conditions et les actions pour les webRequests de la WebView déclarative doivent être instanciées à partir de leurs homologues chrome.webViewRequest.*
. L'exemple de code suivant bloque de manière déclarative toutes les requêtes adressées à "example.com"
sur la WebView myWebview
:
var rule = {
conditions: [
new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
],
actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);
WindowOpenDisposition
Disposition demandée pour la nouvelle fenêtre.
Énumération
"ignore"
"save_to_disk"
"current_tab"
"new_background_tab"
"new_foreground_tab"
"new_window"
"new_popup"
ZoomMode
Définit la façon dont le zoom est géré dans webview
.
Énumération
"par origine"
Les modifications du zoom sont conservées dans l'origine de la page ayant subi un zoom. Autrement dit, toutes les autres vues Web de la même partition qui sont redirigées vers cette même origine sont également mises à l'échelle. De plus, les modifications du zoom per-origin
sont enregistrées avec l'origine. Cela signifie que lorsque vous accédez à d'autres pages de la même origine, elles sont toutes zoomées au même facteur de zoom.
"par vue"
Les modifications du zoom ne prennent effet que dans cette vue Web. Les modifications du zoom dans d'autres vues Web n'affectent pas le zoom de cette vue Web. De plus, les modifications du zoom per-view
sont réinitialisées lors de la navigation. La navigation dans une WebView charge toujours les pages avec leurs facteurs de zoom par origine (dans le champ d'application de la partition).
"disabled"
Désactive tout zoom dans la WebView. Le contenu reviendra au niveau de zoom par défaut et toutes les tentatives de modification du zoom seront ignorées.
Propriétés
contentWindow
Référence d'objet pouvant être utilisée pour publier des messages sur la page invitée.
Type
contextMenus
Semblable à l'API ContextMenus de Chrome, mais s'applique à webview
au lieu du navigateur. Utilisez l'API webview.contextMenus
pour ajouter des éléments au menu contextuel de webview
. Vous pouvez choisir les types d'objets auxquels s'appliquent les éléments ajoutés au menu contextuel, comme les images, les liens hypertexte et les pages.
Type
request
Interface qui permet d'accéder aux événements webRequest sur la page invitée.
Méthodes
addContentScripts()
chrome.webviewTag.addContentScripts(
contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
): void
Ajoute des règles d'injection de script de contenu à webview
. Lorsque le webview
accède à une page correspondant à une ou plusieurs règles, les scripts associés sont injectés. Vous pouvez ajouter des règles ou mettre à jour celles qui existent déjà de manière programmatique.
L'exemple suivant ajoute deux règles à webview
: "myRule" et "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';
Vous pouvez différer l'appel addContentScripts jusqu'à ce que vous ayez besoin d'injecter des scripts.
L'exemple suivant montre comment remplacer une règle existante.
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'}]);
Si webview
a été défini sur l'origine (par exemple, foo.com) et appelle webview.addContentScripts
pour ajouter "myRule", vous devez attendre la prochaine navigation pour que les scripts soient injectés. Si vous souhaitez une injection immédiate, executeScript
fera ce qu'il faut.
Les règles sont conservées même si le processus invité plante ou est arrêté, ou même si webview
est réattribué.
Pour en savoir plus, consultez la documentation sur les scripts de contenu.
Paramètres
-
contentScriptList
Détails des scripts de contenu à ajouter.
back()
chrome.webviewTag.back(
callback?: function,
): void
Permet de revenir en arrière d'une entrée dans l'historique, si possible. Équivaut à go(-1)
.
Paramètres
-
callback
function facultatif
Chrome 44 et versions ultérieuresLe paramètre
callback
se présente comme suit :(success: boolean) => void
-
success
booléen
Indique si la navigation a réussi.
-
canGoBack()
chrome.webviewTag.canGoBack(): boolean
Indique s'il est possible de revenir en arrière dans l'historique. L'état de cette fonction est mis en cache et mis à jour avant chaque loadcommit
. Le meilleur endroit pour l'appeler est donc sur loadcommit
.
Renvoie
-
booléen
canGoForward()
chrome.webviewTag.canGoForward(): boolean
Indique s'il est possible ou non de parcourir l'historique vers l'avant. L'état de cette fonction est mis en cache et mis à jour avant chaque loadcommit
. Le meilleur endroit pour l'appeler est donc sur loadcommit
.
Renvoie
-
booléen
captureVisibleRegion()
chrome.webviewTag.captureVisibleRegion(
options?: ImageDetails,
callback: function,
): void
Capture la région visible de la WebView.
Paramètres
-
options
ImageDetails facultatif
-
callback
fonction
Le paramètre
callback
se présente comme suit :(dataUrl: string) => void
-
dataUrl
chaîne
URL de données qui encode une image de la zone visible de l'onglet capturé. Peut être attribué à la propriété "src" d'un élément HTML Image pour l'affichage.
-
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
): void
Efface les données de navigation pour la partition webview
.
Paramètres
-
options
Options permettant de déterminer les données à effacer.
-
Types
Types de données à effacer.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
): void
Injecte du code JavaScript dans la page invitée.
L'exemple de code suivant utilise l'injection de script pour définir la couleur d'arrière-plan de la page invitée sur rouge :
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
Paramètres
-
détails
Détails du script à exécuter.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(result?: any[]) => void
-
résultat
any[] facultatif
Résultat du script dans chaque frame injecté.
-
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
): void
Lance une requête de recherche sur la page.
Paramètres
-
searchText
chaîne
Chaîne à rechercher dans la page.
-
options
FindOptions facultatif
Options de la requête de recherche.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(results?: FindCallbackResults) => void
-
résultats
FindCallbackResults facultatif
Contient tous les résultats de la requête de recherche.
results
peut être omis s'il n'est pas utilisé dans le corps de la fonction de rappel, par exemple si le rappel n'est utilisé que pour déterminer quand la requête de recherche est terminée.
-
forward()
chrome.webviewTag.forward(
callback?: function,
): void
Avance d'une entrée dans l'historique, si possible. Équivaut à go(1)
.
Paramètres
-
callback
function facultatif
Chrome 44 et versions ultérieuresLe paramètre
callback
se présente comme suit :(success: boolean) => void
-
success
booléen
Indique si la navigation a réussi.
-
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
): void
Interroge l'état audio.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(audible: boolean) => void
-
audible
booléen
-
getProcessId()
chrome.webviewTag.getProcessId(): number
Renvoie l'ID de processus interne de Chrome pour le processus actuel de la page Web invitée, ce qui permet aux intégrateurs de savoir combien d'invités seraient concernés par l'arrêt du processus. Deux invités ne partageront un processus que s'ils appartiennent à la même application et ont le même ID de partition de stockage. L'appel est synchrone et renvoie la notion mise en cache par l'intégrateur de l'ID de processus actuel. L'ID de processus n'est pas le même que celui du système d'exploitation.
Renvoie
-
Total
getUserAgent()
chrome.webviewTag.getUserAgent(): string
Renvoie la chaîne user-agent utilisée par webview
pour les requêtes de pages invitées.
Renvoie
-
chaîne
getZoom()
chrome.webviewTag.getZoom(
callback: function,
): void
Récupère le facteur de zoom actuel.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(zoomFactor: number) => void
-
zoomFactor
Total
Facteur de zoom actuel.
-
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
): void
Récupère le mode de zoom actuel.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(ZoomMode: ZoomMode) => void
-
ZoomMode
Mode de zoom actuel de
webview
.
-
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
): void
Accède à une entrée de l'historique à l'aide d'un index d'historique relatif à la navigation actuelle. Si la navigation demandée est impossible, cette méthode n'a aucun effet.
Paramètres
-
relativeIndex
Total
Index de l'historique relatif vers lequel le
webview
doit être redirigé. Par exemple, une valeur de2
permet de revenir en avant de deux entrées dans l'historique, si possible, tandis qu'une valeur de-3
permet de revenir en arrière de trois entrées. -
callback
function facultatif
Le paramètre
callback
se présente comme suit :(success: boolean) => void
-
success
booléen
Indique si la navigation a réussi.
-
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
): void
Injecte le CSS dans la page invitée.
Paramètres
-
détails
Détails du CSS à insérer.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
): void
Indique si le son est coupé.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(muted: boolean) => void
-
son coupé
booléen
-
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
): void
Indique si la navigation spatiale est activée pour la WebView.
Paramètres
-
fonction
Le paramètre
callback
se présente comme suit :(enabled: boolean) => void
-
booléen
-
isUserAgentOverridden()
chrome.webviewTag.isUserAgentOverridden(): void
Indique si la chaîne d'agent utilisateur de webview
a été remplacée par webviewTag.setUserAgentOverride
.
loadDataWithBaseUrl()
chrome.webviewTag.loadDataWithBaseUrl(
dataUrl: string,
baseUrl: string,
virtualUrl?: string,
): void
Charge une URL de données avec une URL de base spécifiée utilisée pour les liens relatifs. Vous pouvez également fournir une URL virtuelle à afficher à l'utilisateur au lieu de l'URL des données.
Paramètres
-
dataUrl
chaîne
URL des données à charger.
-
baseUrl
chaîne
URL de base qui sera utilisée pour les liens relatifs.
-
virtualUrl
chaîne facultative
URL qui sera affichée à l'utilisateur (dans la barre d'adresse).
print()
chrome.webviewTag.print(): void
Affiche le contenu de webview
. Cela équivaut à appeler la fonction d'impression scriptée à partir de webview
.
reload()
chrome.webviewTag.reload(): void
Actualise la page de premier niveau actuelle.
removeContentScripts()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
): void
Supprime les scripts de contenu d'un webview
.
L'exemple suivant supprime "myRule" qui a été ajouté précédemment.
webview.removeContentScripts(['myRule']);
Vous pouvez supprimer toutes les règles en appelant :
webview.removeContentScripts();
Paramètres
-
scriptNameList
string[] facultatif
Liste des noms des scripts de contenu qui seront supprimés. Si la liste est vide, tous les scripts de contenu ajoutés à
webview
seront supprimés.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
): void
Définit l'état de désactivation du son de la WebView.
Paramètres
-
couper le son
booléen
Valeur de désactivation du son
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
): void
Définit l'état de la navigation spatiale de la WebView.
Paramètres
-
booléen
Valeur de l'état de la navigation spatiale.
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
): void
Remplace la chaîne user-agent utilisée par webview
pour les demandes de pages invitées. La substitution entraînera la suppression des valeurs d'en-tête User-Agent Client Hint et des valeurs renvoyées par navigator.userAgentData
pour les requêtes de pages invitées auxquelles cette substitution est appliquée.
Paramètres
-
userAgent
chaîne
Chaîne user-agent à utiliser.
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
): void
Modifie le facteur de zoom de la page. La portée et la persistance de cette modification sont déterminées par le mode de zoom actuel de la vue Web (voir webviewTag.ZoomMode
).
Paramètres
-
zoomFactor
Total
Nouveau facteur de zoom.
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
): void
Définit le mode de zoom de webview
.
Paramètres
-
ZoomMode
Définit la façon dont le zoom est géré dans
webview
. -
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
stop()
chrome.webviewTag.stop(): void
Arrête le chargement de la navigation webview
actuelle, le cas échéant.
stopFinding()
chrome.webviewTag.stopFinding(
action?: StopFindingAction,
): void
Met fin à la session de recherche en cours (en effaçant toutes les mises en surbrillance) et annule toutes les demandes de recherche en cours.
Paramètres
-
action
StopFindingAction facultatif
Détermine ce qu'il faut faire avec la partie en cours une fois la session de recherche terminée.
clear
: efface la mise en surbrillance de la correspondance active.keep
: conserve la mise en surbrillance de la correspondance active.activate
: conserve la mise en surbrillance de la correspondance active et simule un clic de l'utilisateur sur cette correspondance. L'action par défaut estkeep
.
terminate()
chrome.webviewTag.terminate(): void
Interrompt de force le processus de rendu de la page Web invitée. Cela peut affecter plusieurs balises webview
dans l'application actuelle si elles partagent le même processus, mais cela n'affectera pas les balises webview
dans d'autres applications.
Événements
close
chrome.webviewTag.close.addListener(
callback: function,
)
Événement déclenché lorsque la fenêtre invitée tente de se fermer.
L'exemple de code suivant permet au webview
de naviguer vers about:blank
lorsque le guest tente de se fermer.
webview.addEventListener('close', function() {
webview.src = 'about:blank';
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
Déclenché lorsque la fenêtre invitée enregistre un message de console.
L'exemple de code suivant transfère tous les messages du journal vers la console de l'intégrateur, sans tenir compte du niveau de journalisation ni des autres propriétés.
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(level: number, message: string, line: number, sourceId: string) => void
-
level
Total
-
message
chaîne
-
ligne
Total
-
sourceId
chaîne
-
contentload
chrome.webviewTag.contentload.addListener(
callback: function,
)
Déclenché lorsque la fenêtre invitée déclenche un événement load
, c'est-à-dire lorsqu'un nouveau document est chargé. Cela n'inclut pas la navigation sur les pages du document actuel ni les chargements de ressources asynchrones.
L'exemple de code suivant modifie la taille de police par défaut de l'élément body
de l'invité après le chargement de la page :
webview.addEventListener('contentload', function() {
webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
Déclenché lorsque la fenêtre invitée tente d'ouvrir une boîte de dialogue modale via window.alert
, window.confirm
ou window.prompt
.
La gestion de cet événement bloquera le processus invité jusqu'à ce que chaque écouteur d'événement renvoie ou que l'objet dialog
devienne inaccessible (si preventDefault()
a été appelé).
Le comportement par défaut consiste à annuler la boîte de dialogue.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(messageType: DialogMessageType, messageText: string, dialog: DialogController) => void
-
messageType
-
messageText
chaîne
-
boîte de dialogue
-
exit
chrome.webviewTag.exit.addListener(
callback: function,
)
Déclenché lorsque le processus d'affichage du contenu Web invité s'est terminé.
L'exemple de code suivant affichera un message d'adieu chaque fois que la page invitée plante :
webview.addEventListener('exit', function(e) {
if (e.reason === 'crash') {
webview.src = 'data:text/plain,Goodbye, world!';
}
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(details: object) => void
-
détails
objet
-
processID
Total
ID Chrome interne du processus qui s'est arrêté.
-
reason
Chaîne indiquant le motif de la sortie.
-
-
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
Déclenché lorsque de nouveaux résultats de recherche sont disponibles pour une demande de recherche active. Cela peut se produire plusieurs fois pour une même demande de recherche, à mesure que des correspondances sont trouvées.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
-
searchText
chaîne
-
numberOfMatches
Total
-
activeMatchOrdinal
Total
-
selectionRect
-
annulée
booléen
-
finalUpdate
chaîne
-
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
Déclenché lorsqu'un chargement de premier niveau a été abandonné sans être validé. Un message d'erreur s'affiche dans la console, sauf si l'événement est empêché par défaut.
Remarque : Lorsqu'un chargement de ressource est abandonné, un événement loadabort
est généralement suivi d'un événement loadstop
, même si tous les chargements validés depuis le dernier événement loadstop
(le cas échéant) ont été abandonnés.
Remarque : Lorsque le chargement d'une URL "about" ou d'une URL JavaScript est abandonné, loadabort
est déclenché, puis webview
est redirigé vers "about:blank".
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void
-
url
chaîne
-
isTopLevel
booléen
-
code
Total
-
reason
-
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
Déclenché lorsqu'un chargement est validé. Cela inclut la navigation dans le document actuel ainsi que les chargements au niveau du document de sous-frame, mais n'inclut pas les chargements de ressources asynchrones.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(url: string, isTopLevel: boolean) => void
-
url
chaîne
-
isTopLevel
booléen
-
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
Événement déclenché lorsqu'une requête de chargement de premier niveau a été redirigée vers une autre URL.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
-
oldUrl
chaîne
-
newUrl
chaîne
-
isTopLevel
booléen
-
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
Déclenché lorsqu'un chargement a commencé.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(url: string, isTopLevel: boolean) => void
-
url
chaîne
-
isTopLevel
booléen
-
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
Déclenché lorsque tous les chargements au niveau du frame d'une page invitée (y compris tous ses sous-frames) sont terminés. Cela inclut la navigation dans le document actuel ainsi que les chargements au niveau du document de sous-frame, mais n'inclut pas les chargements de ressources asynchrones. Cet événement se déclenche chaque fois que le nombre de chargements au niveau du document passe d'un (ou plusieurs) à zéro. Par exemple, si une page qui a déjà fini de se charger (c'est-à-dire loadstop
déjà déclenché une fois) crée un iFrame qui charge une page, puis un deuxième loadstop
se déclenche lorsque le chargement de la page iFrame est terminé. Ce schéma est souvent observé sur les pages qui chargent des annonces.
Remarque : Lorsqu'un chargement validé est abandonné, un événement loadstop
suit généralement un événement loadabort
, même si tous les chargements validés depuis le dernier événement loadstop
(le cas échéant) ont été abandonnés.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
newwindow
chrome.webviewTag.newwindow.addListener(
callback: function,
)
Déclenché lorsque la page invitée tente d'ouvrir une nouvelle fenêtre de navigateur.
L'exemple de code suivant crée et ouvre une nouvelle webview
dans l'intégrateur pour chaque nouvelle fenêtre demandée :
webview.addEventListener('newwindow', function(e) {
var newWebview = document.createElement('webview');
document.body.appendChild(newWebview);
e.window.attach(newWebview);
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void
-
fenêtre
-
targetUrl
chaîne
-
initialWidth
Total
-
initialHeight
Total
-
nom
chaîne
-
windowOpenDisposition
-
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
Événement déclenché lorsque la page invitée doit demander une autorisation spéciale à l'intégrateur.
L'exemple de code suivant accorde à la page invitée l'accès à l'API webkitGetUserMedia
. Notez qu'une application utilisant cet exemple de code doit elle-même spécifier les autorisations de fichier manifeste audioCapture
et/ou videoCapture
:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(permission: PermissionType, request: object) => void
-
autorisation
-
request
objet
-
responsive
chrome.webviewTag.responsive.addListener(
callback: function,
)
Événement déclenché lorsque le processus de rendu du contenu Web invité redevient réactif après avoir cessé de l'être.
L'exemple de code suivant estompe l'élément webview
lorsqu'il devient réactif ou non :
webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
webview.style.opacity = '1';
});
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(processID: number) => void
-
processID
Total
-
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
Déclenché lorsque le contenu Web intégré a été redimensionné via autosize
. Ne se déclenche que si autosize
est activé.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
-
oldWidth
Total
-
oldHeight
Total
-
newWidth
Total
-
newHeight
Total
-
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
Déclenché lorsque le processus de rendu du contenu Web invité ne répond plus. Cet événement sera généré une seule fois avec un événement de réponse correspondant si l'invité recommence à répondre.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(processID: number) => void
-
processID
Total
-
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
Déclenché lorsque le zoom de la page change.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(oldZoomFactor: number, newZoomFactor: number) => void
-
oldZoomFactor
Total
-
newZoomFactor
Total
-