chrome.webviewTag

Description

Utilisez la balise webview pour charger activement du contenu en direct depuis le Web sur le réseau et l'intégrer dans 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, etc. (voir Utilisation).

Autorisations

webview

Disponibilité

ChromeOS uniquement

Types

ClearDataOptions

Options qui déterminent les données à effacer par clearData.

Propriétés

  • depuis le

    number facultatif

    Effacez les données accumulées à partir de cette date, représentée en millisecondes depuis l'epoch (accessible via la méthode getTime de l'objet JavaScript Date). Si cette option n'est pas spécifiée, la valeur par défaut est 0 (ce qui supprime toutes les données de navigation).

ClearDataTypeSet

Un ensemble de types de données. Les propriétés manquantes sont interprétées comme false.

Propriétés

  • appcache

    boolean facultatif

    Caches d'applications des sites Web.

  • cache

    boolean facultatif

    Chrome 44 ou version ultérieure

    Depuis Chrome 43. Le cache du navigateur. Remarque : Lorsque vous supprimez des données, l'intégralité du cache est effacée, et pas seulement la plage que vous spécifiez.

  • cookies

    boolean facultatif

    Cookies de la partition.

  • fileSystems

    boolean facultatif

    Systèmes de fichiers des sites Web.

  • indexedDB

    boolean facultatif

    Données IndexedDB des sites Web.

  • localStorage

    boolean facultatif

    Données de stockage local des sites Web.

  • persistentCookies

    boolean facultatif

    Chrome 58 ou version ultérieure

    Cookies persistants de la partition.

  • sessionCookies

    boolean facultatif

    Chrome 58 ou version ultérieure

    Cookies de session de la partition.

  • webSQL

    boolean facultatif

    Données WebSQL des sites Web.

ContentScriptDetails

Chrome 44 ou version ultérieure

Détails du script de contenu à injecter. Pour en savoir plus, consultez la documentation sur les scripts de contenu.

Propriétés

  • all_frames

    boolean facultatif

    Si all_frames est défini sur true, cela implique 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 sur false, 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 qui correspondent à ce glob. Destiné à émuler le mot clé @exclude de Greasemonkey.

  • exclude_matches

    string[] facultatif

    Exclut les pages dans lesquelles ce script de contenu serait 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. Ils sont injectés dans l'ordre dans lequel ils apparaissent.

  • match_about_blank

    boolean 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 d'héritage correspondra à l'un des formats déclarés dans le champ "matches". L'URL héritée est l'URL 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 de bac à sable.

  • correspond à

    chaîne[]

    Spécifie les pages dans lesquelles ce script de contenu sera injecté.

  • nom

    chaîne

    Nom du script de contenu à injecter.

  • run_at

    RunAt facultatif

    Délai le plus court avant l'injection du code JavaScript ou CSS dans l'onglet. La valeur par défaut est "document_idle".

ContentWindow

Handle de messagerie vers une fenêtre d'invité.

Propriétés

  • postMessage

    vide

    Publie un message dans le contenu Web intégré tant que celui-ci affiche une page 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 lors de 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

      Spécifie l'origine de la fenêtre d'invité pour que l'événement soit distribué.

ContextMenuCreateProperties

Chrome 44 ou version ultérieure

Propriétés

  • coché

    boolean facultatif

    État initial d'une case à cocher ou d'une case d'option : "true" pour "sélectionné" et "false" pour "non sélectionné". Vous ne pouvez sélectionner qu'un seul élément radio à la fois dans un groupe d'éléments radio donné.

  • contexts

    [ContextType, ...ContextType[]] facultatif

    Liste des contextes dans lesquels cet élément de menu apparaîtra. Si ce champ n'est pas spécifié, la valeur par défaut est ['page'].

  • documentUrlPatterns

    string[] facultatif

    Permet de limiter l'élément pour qu'il ne s'applique qu'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 format, consultez Formats de correspondance.

  • activé

    boolean facultatif

    Indique si cet élément du menu contextuel est activé ou désactivé. La valeur par défaut est true.

  • id

    chaîne facultatif

    Identifiant unique à attribuer à cet élément. Obligatoire pour les pages d'événement. Il ne peut pas être identique à un autre ID de cette extension.

  • parentId

    chaîne | nombre facultatif

    ID d'un élément de menu parent. Cela fait de l'élément un enfant d'un élément précédemment ajouté.

  • targetUrlPatterns

    string[] facultatif

    Semblable à documentUrlPatterns, mais vous permet de filtrer en fonction de l'attribut src des balises img/audio/video et de l'attribut href des balises d'ancrage.

  • titre

    chaîne facultatif

    Texte à afficher dans l'élément. Ce champ 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 louchébem" et que l'utilisateur sélectionne le mot "cool", l'élément du menu contextuel pour la sélection est "Traduire 'cool' en louchébem".

  • type

    ItemType facultatif

    Type d'élément de menu. La valeur par défaut est "normal" si aucune valeur n'est spécifiée.

  • onclick

    void facultatif

    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) => {...}

    • Informations sur l'élément cliqué et le contexte dans lequel le clic a eu lieu.

ContextMenus

Chrome 44 ou version ultérieure

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 appelant event.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 pas avant le déclenchement du rappel de création (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

      ID de l'élément récemment créé.

  • supprimer

    vide

    Supprime un élément du menu contextuel.

    La fonction remove se présente comme suit :

    (menuItemId: string | number, callback?: function) => {...}

    • menuItemId

      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 du 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'élément à mettre à jour.

    • 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

Chrome 44 ou version ultérieure

Propriétés

  • coché

    boolean facultatif

    État d'une case à cocher ou d'une case d'option : "true" pour "sélectionné" et "false" pour "non sélectionné". Vous ne pouvez sélectionner qu'un seul élément radio à la fois dans un groupe d'éléments radio donné.

  • contexts

    [ContextType, ...ContextType[]] facultatif

    Liste des contextes dans lesquels cet élément de menu apparaîtra.

  • documentUrlPatterns

    string[] facultatif

    Permet de limiter l'élément pour qu'il ne s'applique qu'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 format, consultez Formats de correspondance.

  • activé

    boolean facultatif

    Indique si cet élément du menu contextuel est activé ou désactivé.

  • parentId

    chaîne | nombre facultatif

    ID d'un élément de menu parent. Cela fait de l'élément un enfant d'un élément précédemment ajouté. 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'attribut href des balises d'ancrage.

  • titre

    chaîne facultatif

    Texte à afficher dans l'élément

  • type

    ItemType facultatif

    Type d'élément de menu.

  • onclick

    void facultatif

    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) => {...}

    • Informations sur l'élément cliqué et le contexte dans lequel le clic a eu lieu.

ContextType

Chrome 44 ou version ultérieure

Différents contextes dans lesquels un menu peut apparaître. Spécifier "all" équivaut à combiner 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

    Rejetez la boîte de dialogue. Équivaut à cliquer sur "Annuler" dans une boîte de dialogue confirm ou prompt.

    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 ou prompt.

    La fonction ok se présente comme suit :

    (response?: string) => {...}

    • réponse

      chaîne facultatif

      Chaîne de réponse à fournir à l'invité lors de l'acceptation d'une boîte de dialogue prompt.

DialogMessageType

Chrome 141 ou version ultérieure

Type de boîte de dialogue modale demandé 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 requête de téléchargement.

  • url

    chaîne

    URL de téléchargement demandée.

  • allow

    vide

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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

Chrome 141 ou version ultérieure

Chaîne indiquant la raison de la sortie.

Énumération

"normal"

"abnormal"

"crashed"

"killed"

"oom killed"

"oom"

"failed to launch"

"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

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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

    nombre

    Nombre ordinal de la correspondance actuelle.

  • annulée

    booléen

    Indique si cette requête de recherche a été annulée.

  • numberOfMatches

    nombre

    Nombre de fois où searchText a été trouvé sur la page.

  • selectionRect

    Décrit un rectangle autour de la correspondance active dans les coordonnées de l'écran.

FindOptions

Options de la requête de recherche.

Propriétés

  • reculer

    boolean facultatif

    Indicateur permettant de trouver des correspondances dans l'ordre inverse. La valeur par défaut est false.

  • matchCase

    boolean facultatif

    Indicateur de correspondance sensible à la casse. La valeur par défaut est false.

FullscreenPermissionRequest

Chrome 43 ou version ultérieure

Type d'objet request qui accompagne un événement DOM fullscreen permissionrequest.

Propriétés

  • origin

    chaîne

    Origine du frame dans l'élément webview qui a initié la requête plein écran.

  • allow

    vide

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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

Chrome 125 ou version ultérieure

Type d'objet request qui accompagne un événement DOM permissionrequest hid.

Propriétés

  • url

    chaîne

    URL du frame demandant l'accès à l'API HID.

  • allow

    vide

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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 facultatif

    Code JavaScript ou CSS à injecter.

    Avertissement : Soyez prudent lorsque vous utilisez le paramètre code. Une utilisation incorrecte peut exposer votre application à des attaques de script intersites.

  • fichier

    chaîne facultatif

    Fichier JavaScript ou CSS à injecter.

InjectionItems

Chrome 44 ou version ultérieure

Type d'élément d'injection : code ou ensemble de fichiers.

Propriétés

  • code

    chaîne facultatif

    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

Chrome 141 ou version ultérieure

Chaîne indiquant le type d'abandon qui s'est produit. Il n'est pas garanti que cette chaîne reste rétrocompatible entre les versions. Vous ne devez pas l'analyser ni agir en fonction de son contenu. 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

  • identifier

    chaîne

    Chaîne d'identifiant du plug-in.

  • nom

    chaîne

    Nom à afficher du plug-in.

  • allow

    vide

    Acceptez 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

    Refuser 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

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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 d'ouverture d'une nouvelle fenêtre.

    La fonction discard se présente comme suit :

    () => {...}

PermissionType

Chrome 141 ou version ultérieure

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 demandeur était le client le plus récent à détenir le verrouillage du 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 l'utilisateur.

  • allow

    vide

    Acceptez la demande d'autorisation.

    La fonction allow se présente comme suit :

    () => {...}

  • deny

    vide

    Refuser 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 dans les coordonnées de l'écran.

La sémantique de confinement est de type 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

  • height

    nombre

    Hauteur du rectangle.

  • gauche

    nombre

    Distance entre le bord gauche de l'écran et le bord gauche du rectangle.

  • top

    nombre

    Distance entre le bord supérieur de l'écran et le bord supérieur du rectangle.

  • width

    nombre

    Largeur du rectangle.

StopFindingAction

Chrome 141 ou version ultérieure

Détermine ce qu'il faut faire avec la correspondance active 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"

"activate"

WebRequestEventInterface

Chrome 44 ou version ultérieure

Interface qui permet d'accéder aux événements webRequest sur la page d'invité. Pour en savoir plus sur le cycle de vie de webRequest et les concepts associés, consultez l'API d'extensions chrome.webRequest. 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 des webRequests de WebView déclaratives doivent être instanciées à partir de leurs équivalents chrome.webViewRequest.*. L'exemple de code suivant bloque de manière déclarative toutes les requêtes adressées à "example.com" sur la vue Web myWebview :

var rule = {
  conditions: [
    new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
  ],
  actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);

WindowOpenDisposition

Chrome 141 ou version ultérieure

Disposition demandée de la nouvelle fenêtre.

Énumération

"ignore"

"save_to_disk"

"current_tab"

"new_background_tab"

"new_foreground_tab"

"new_window"

"new_popup"

ZoomMode

Chrome 43 ou version ultérieure

Définit la façon dont le zoom est géré dans webview.

Énumération

"per-origin"
Les modifications du zoom seront conservées dans l'origine de la page zoomée, c'est-à-dire que toutes les autres vues Web de la même partition qui accèdent à cette même origine seront également zoomées. De plus, les modifications de zoom per-origin sont enregistrées avec l'origine, ce qui signifie que lorsque vous accédez à d'autres pages de la même origine, elles sont toutes zoomées avec le même facteur de zoom.

"per-view"
Les modifications du zoom ne prennent effet que dans cette vue Web, et les modifications du zoom dans d'autres vues Web n'affectent pas le zoom de cette vue Web. De plus, les modifications de zoom per-view sont réinitialisées lors de la navigation. La navigation dans une webview chargera 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 d'invité.

contextMenus

Chrome 44 ou version ultérieure

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 ajouts au menu contextuel, comme les images, les liens hypertextes et les pages.

request

Interface qui permet d'accéder aux événements webRequest sur la page d'invité.

Méthodes

addContentScripts()

Chrome 44 ou version ultérieure
chrome.webviewTag.addContentScripts(
  contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
)
: void

Ajoute des règles d'injection de scripts de contenu à webview. Lorsque l'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 des règles existantes 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 deviez injecter des scripts.

L'exemple suivant montre comment écraser 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é redirigé vers 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 effectuera l'action appropriée.

Les règles sont conservées même si le processus invité plante ou est arrêté, ou même si le webview est rattaché à un autre parent.

Pour en savoir plus, consultez la documentation sur les scripts de contenu.

Paramètres

back()

chrome.webviewTag.back(
  callback?: function,
)
: void

Permet de revenir à l'entrée précédente de l'historique, si possible. Équivaut à go(-1).

Paramètres

  • callback

    function facultatif

    Chrome 44 ou version ultérieure

    Le 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 ou non 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 naviguer vers l'avant 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

captureVisibleRegion()

Chrome 50 ou version ultérieure
chrome.webviewTag.captureVisibleRegion(
  options?: ImageDetails,
  callback: function,
)
: void

Capture la zone visible de la vue Web.

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 d'image HTML pour l'affichage.

clearData()

chrome.webviewTag.clearData(
  options: ClearDataOptions,
  types: ClearDataTypeSet,
  callback?: function,
)
: void

Efface les données de navigation de la partition webview.

Paramètres

  • Options déterminant les données à effacer.

  • 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 d'invité.

L'exemple de code suivant utilise l'injection de script pour définir la couleur d'arrière-plan de la page d'invité 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 sur 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

      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

Permet d'avancer d'une entrée dans l'historique, si possible. Équivaut à go(1).

Paramètres

  • callback

    function facultatif

    Chrome 44 ou version ultérieure

    Le paramètre callback se présente comme suit :

    (success: boolean) => void

    • success

      booléen

      Indique si la navigation a réussi.

getAudioState()

Chrome 62 ou version ultérieure
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 affecté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 de l'ID de processus actuel de l'outil d'intégration. L'ID de processus n'est pas le même que l'ID de processus du système d'exploitation.

Renvoie

  • nombre

getUserAgent()

chrome.webviewTag.getUserAgent(): string

Renvoie la chaîne user-agent utilisée par webview pour les requêtes de pages d'invités.

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

      nombre

      Facteur de zoom actuel.

getZoomMode()

Chrome 43 ou version ultérieure
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

    nombre

    Index de l'historique relatif vers lequel l'élément webview doit être redirigé. Par exemple, une valeur de 2 permet d'avancer de deux entrées d'historique si possible, tandis qu'une valeur de -3 permet de reculer 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 du CSS dans la page d'invité.

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 62 ou version ultérieure
chrome.webviewTag.isAudioMuted(
  callback: function,
)
: void

Vérifie 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 71 ou version ultérieure
chrome.webviewTag.isSpatialNavigationEnabled(
  callback: function,
)
: void

Vérifie si la navigation spatiale est activée pour la vue Web.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (enabled: boolean) => void

    • activé

      booléen

isUserAgentOverridden()

chrome.webviewTag.isUserAgentOverridden(): void

Indique si la chaîne user-agent 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 éventuellement fournir une URL virtuelle à afficher à l'utilisateur à la place de l'URL de 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 facultatif

    URL qui sera présenté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 lui-même.

reload()

chrome.webviewTag.reload(): void

Actualise la page de premier niveau actuelle.

removeContentScripts()

Chrome 44 ou version ultérieure
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 62 ou version ultérieure
chrome.webviewTag.setAudioMuted(
  mute: boolean,
)
: void

Définit l'état de coupure du son de la WebView.

Paramètres

  • couper le son

    booléen

    Valeur de coupure du son

setSpatialNavigationEnabled()

Chrome 71 ou version ultérieure
chrome.webviewTag.setSpatialNavigationEnabled(
  enabled: boolean,
)
: void

Définit l'état de navigation spatiale de la WebView.

Paramètres

  • activé

    booléen

    Valeur d'état de la navigation spatiale.

setUserAgentOverride()

chrome.webviewTag.setUserAgentOverride(
  userAgent: string,
)
: void

Remplacez la chaîne user-agent utilisée par webview pour les requêtes de page d'invité. Le remplacement entraînera l'effacement des valeurs d'en-tête User-Agent Client Hint et des valeurs renvoyées par navigator.userAgentData pour les requêtes de pages d'invités auxquelles ce remplacement est appliqué.

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

    nombre

    Nouveau facteur de zoom.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

setZoomMode()

Chrome 43 ou version ultérieure
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 si elle est en cours.

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 requêtes de recherche en cours.

Paramètres

  • action

    StopFindingAction facultatif

    Détermine ce qu'il faut faire avec la correspondance active 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.

terminate()

chrome.webviewTag.terminate(): void

Arrête 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,
)

Se déclenche lorsque la fenêtre d'invité tente de se fermer.

L'exemple de code suivant permet de rediriger le webview vers about:blank lorsque l'invité 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 d'invité consigne un message de la console.

L'exemple de code suivant transfère tous les messages de journal vers la console de l'intégrateur, sans tenir compte du niveau de journalisation ni d'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

    • niveau

      nombre

    • message

      chaîne

    • ligne

      nombre

    • sourceId

      chaîne

contentload

chrome.webviewTag.contentload.addListener(
  callback: function,
)

Déclenché lorsque la fenêtre d'invité 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 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,
)

Se déclenche lorsque la fenêtre d'invité tente d'ouvrir une boîte de dialogue modale via window.alert, window.confirm ou window.prompt.

La gestion de cet événement bloque le processus invité jusqu'à ce que chaque écouteur d'événement renvoie un résultat 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

exit

chrome.webviewTag.exit.addListener(
  callback: function,
)

Déclenché lorsque le processus d'affichage du contenu Web invité s'est arrêté.

L'exemple de code suivant affiche un message d'adieu chaque fois que la page d'invité 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

        nombre

        ID interne Chrome du processus qui s'est arrêté.

      • reason

        Chaîne indiquant la raison de la sortie.

findupdate

chrome.webviewTag.findupdate.addListener(
  callback: function,
)

Se déclenche lorsque de nouveaux résultats de recherche sont disponibles pour une requête de recherche active. Cela peut se produire plusieurs fois pour une même requête 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

      nombre

    • activeMatchOrdinal

      nombre

    • selectionRect
    • annulée

      booléen

    • finalUpdate

      chaîne

loadabort

chrome.webviewTag.loadabort.addListener(
  callback: function,
)

Déclenché lorsqu'un chargement de niveau supérieur a été abandonné sans commit. 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 interrompu, un événement loadabort est 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é interrompus.

Remarque : Lorsque le chargement d'une URL "about" ou d'une URL JavaScript est interrompu, 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

loadcommit

chrome.webviewTag.loadcommit.addListener(
  callback: function,
)

Se déclenche lorsqu'un chargement a été validé. Cela inclut la navigation dans le document actuel ainsi que les chargements au niveau du document de sous-frame, mais 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,
)

Se déclenche lorsqu'une requête de chargement de premier niveau est 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 d'invité (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 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 dont le chargement est déjà terminé (c'est-à-dire, loadstop s'est 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 page iFrame est terminé. Ce schéma est couramment observé sur les pages qui chargent des annonces.

Remarque : Lorsqu'un chargement validé est abandonné, un événement loadstop suit 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,
)

Se déclenche lorsque la page invitée tente d'ouvrir une nouvelle fenêtre de navigateur.

L'exemple de code suivant crée et parcourt un nouveau webview dans l'outil d'intégration 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

permissionrequest

chrome.webviewTag.permissionrequest.addListener(
  callback: function,
)

Se déclenche lorsque la page d'invité doit demander une autorisation spéciale à l'intégrateur.

L'exemple de code suivant accorde à la page d'invité 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

responsive

chrome.webviewTag.responsive.addListener(
  callback: function,
)

Se déclenche lorsque le processus d'affichage du contenu Web invité redevient réactif après avoir cessé de répondre.

L'exemple de code suivant fait apparaître ou disparaître l'élément webview lorsqu'il devient réactif ou non réactif :

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

      nombre

sizechanged

chrome.webviewTag.sizechanged.addListener(
  callback: function,
)

Se déclenche 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

      nombre

    • oldHeight

      nombre

    • newWidth

      nombre

    • newHeight

      nombre

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 fois avec un événement de réponse correspondant si l'invité commence à répondre à nouveau.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (processID: number) => void

    • processID

      nombre

zoomchange

chrome.webviewTag.zoomchange.addListener(
  callback: function,
)

Se déclenche lorsque le niveau de zoom de la page change.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (oldZoomFactor: number, newZoomFactor: number) => void

    • oldZoomFactor

      nombre

    • newZoomFactor

      nombre