Descrizione
Utilizza il tag webview
per caricare attivamente contenuti live dal web tramite la rete e incorporarli nella tua app Chrome. La tua app può controllare l'aspetto di webview
e interagire con i contenuti web, avviare navigazioni in una pagina web incorporata, reagire agli eventi di errore che si verificano al suo interno e altro ancora (vedi Utilizzo).
Autorizzazioni
webview
Tipi
ClearDataOptions
Opzioni che determinano quali dati devono essere cancellati da clearData
.
Proprietà
-
da
number (facoltativo)
Cancella i dati accumulati in questa data o in una successiva, rappresentati in millisecondi dall'epoca (accessibili tramite il metodo getTime dell'oggetto JavaScript
Date
). Se assente, il valore predefinito è0
(che rimuove tutti i dati di navigazione).
ClearDataTypeSet
Un insieme di tipi di dati. Le proprietà mancanti vengono interpretate come false
.
Proprietà
-
appcache
booleano facoltativo
Appcache dei siti web.
-
cache
booleano facoltativo
Chrome 44+Da Chrome 43. La cache del browser. Nota: quando rimuovi i dati, viene svuotata l'intera cache, non solo l'intervallo specificato.
-
cookie
booleano facoltativo
I cookie della partizione.
-
fileSystems
booleano facoltativo
File system dei siti web.
-
indexedDB
booleano facoltativo
Dati IndexedDB dei siti web.
-
localStorage
booleano facoltativo
Dati di archiviazione locale dei siti web.
-
persistentCookies
booleano facoltativo
Chrome 58+I cookie persistenti della partizione.
-
sessionCookies
booleano facoltativo
Chrome 58+I cookie di sessione della partizione.
-
webSQL
booleano facoltativo
Dati WebSQL dei siti web.
ContentScriptDetails
Dettagli dello script di contenuti da inserire. Per ulteriori dettagli, consulta la documentazione relativa agli script dei contenuti.
Proprietà
-
all_frames
booleano facoltativo
Se
all_frames
ètrue
, ciò implica che JavaScript o CSS devono essere inseriti in tutti i frame della pagina corrente. Per impostazione predefinita,all_frames
èfalse
e il codice JavaScript o CSS viene inserito solo nel frame superiore. -
css
InjectionItems facoltativo
Il codice CSS o un elenco di file CSS da inserire nelle pagine corrispondenti. Vengono inseriti nell'ordine in cui appaiono, prima che venga costruito o visualizzato qualsiasi DOM per la pagina.
-
exclude_globs
string[] facoltativo
Applicato dopo le corrispondenze per escludere gli URL che corrispondono a questo glob. Destinato a emulare la parola chiave @exclude di Greasemonkey.
-
exclude_matches
string[] facoltativo
Esclude le pagine in cui altrimenti verrebbe inserito questo script di contenuti.
-
include_globs
string[] facoltativo
Applicato dopo le corrispondenze per includere solo gli URL che corrispondono anche a questo glob. Inteso per emulare la parola chiave @include di Greasemonkey.
-
js
InjectionItems facoltativo
Il codice JavaScript o un elenco di file JavaScript da inserire nelle pagine corrispondenti. Questi vengono inseriti nell'ordine in cui appaiono.
-
match_about_blank
booleano facoltativo
Se inserire il content script su about:blank e about:srcdoc. Gli script dei contenuti verranno inseriti nelle pagine solo quando il relativo URL ereditato corrisponde a uno dei pattern dichiarati nel campo delle corrispondenze. L'URL di ereditarietà è l'URL del documento che ha creato il frame o la finestra. Gli script dei contenuti non possono essere inseriti nei frame in modalità sandbox.
-
corrisponde a
string[]
Specifica le pagine in cui verrà inserito questo script dei contenuti.
-
nome
stringa
Il nome del content script da inserire.
-
run_at
RunAt facoltativo
Il momento più vicino in cui JavaScript o CSS verrà inserito nella scheda. Il valore predefinito è "document_idle".
ContentWindow
Handle di messaggistica in una finestra ospite.
Proprietà
-
postMessage
void
Pubblica un messaggio nei contenuti web incorporati, a condizione che questi mostrino una pagina dell'origine di destinazione. Questo metodo è disponibile una volta completato il caricamento della pagina. Ascolta l'evento
contentload
e poi chiama il metodo.L'ospite potrà inviare risposte all'incorporatore pubblicando un messaggio su
event.source
nell'evento di messaggio che riceve.Questa API è identica all'API HTML5 postMessage per la comunicazione tra pagine web. L'incorporatore può ascoltare le risposte aggiungendo un listener di eventi
message
al proprio frame.La funzione
postMessage
ha questo aspetto:(message: any, targetOrigin: string) => {...}
-
messaggio
qualsiasi
Oggetto del messaggio da inviare all'ospite.
-
targetOrigin
stringa
Specifica l'origine della finestra dell'ospite per l'invio dell'evento.
-
ContextMenuCreateProperties
Proprietà
-
selezionato
booleano facoltativo
Lo stato iniziale di una casella di controllo o di un pulsante di opzione: true per selezionato e false per non selezionato. È possibile selezionare un solo elemento radio alla volta in un determinato gruppo di elementi radio.
-
contesti
[ContextType, ...ContextType[]] facoltativo
Elenco dei contesti in cui verrà visualizzata questa voce di menu. Se non specificato, il valore predefinito è ["page"].
-
documentUrlPatterns
string[] facoltativo
Consente di limitare l'elemento in modo che venga applicato solo ai documenti il cui URL corrisponde a uno dei pattern specificati. Ciò vale anche per i frame. Per informazioni dettagliate sul formato di un pattern, vedi Pattern di corrispondenza.
-
attivato
booleano facoltativo
Indica se questa voce del menu contestuale è attivata o disattivata. Il valore predefinito è
true
. -
id
stringa facoltativa
L'ID univoco da assegnare a questo elemento. Obbligatorio per le pagine degli eventi. Non può essere uguale a un altro ID per questa estensione.
-
parentId
stringa | numero facoltativo
L'ID di una voce di menu principale; in questo modo l'elemento diventa un elemento secondario di un elemento aggiunto in precedenza.
-
targetUrlPatterns
string[] facoltativo
Simile a documentUrlPatterns, ma consente di filtrare in base all'attributo
src
dei tag img/audio/video e all'attributohref
dei tag di ancoraggio. -
titolo
stringa facoltativa
Il testo da visualizzare nell'elemento. Questo campo è obbligatorio, a meno che
type
non sia "separator". Quando il contesto è "selezione", puoi utilizzare%s
all'interno della stringa per mostrare il testo selezionato. Ad esempio, se il valore di questo parametro è "Traduci "%s" in Pig Latin" e l'utente seleziona la parola "cool", la voce del menu contestuale per la selezione è "Traduci "cool" in Pig Latin". -
tipo
ItemType facoltativo
Il tipo di voce di menu. Se non specificato, il valore predefinito è "normal".
-
onclick
void optional
Una funzione che verrà richiamata quando viene fatto clic sulla voce di menu.
La funzione
onclick
ha questo aspetto:(info: OnClickData) => {...}
-
informazioni
Informazioni sull'elemento su cui è stato fatto clic e sul contesto in cui è avvenuto il clic.
-
ContextMenus
Proprietà
-
onShow
Event<functionvoidvoid>
Attivato prima di mostrare un menu contestuale su questo
webview
. Può essere utilizzato per disattivare questo menu contestuale chiamandoevent.preventDefault()
.La funzione
onShow.addListener
ha questo aspetto:(callback: function) => {...}
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(event: object) => void
-
evento
oggetto
-
preventDefault
void
Chiama questo metodo per impedire la visualizzazione del menu contestuale.
La funzione
preventDefault
ha questo aspetto:() => {...}
-
-
-
-
create
void
Crea una nuova voce di menu contestuale. Tieni presente che, se si verifica un errore durante la creazione, potresti non scoprirlo fino all'attivazione del callback di creazione (i dettagli saranno in
runtime.lastError
).La funzione
create
ha questo aspetto:(createProperties: object, callback?: function) => {...}
-
createProperties
oggetto
Le proprietà utilizzate per creare l'elemento
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
-
returns
stringa | numero
L'ID dell'articolo appena creato.
-
-
rimuovi
void
Rimuove una voce del menu contestuale.
La funzione
remove
ha questo aspetto:(menuItemId: string | number, callback?: function) => {...}
-
stringa | numero
L'ID della voce del menu contestuale da rimuovere.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
-
-
removeAll
void
Rimuove tutte le voci del menu contestuale aggiunte a questo
webview
.La funzione
removeAll
ha questo aspetto:(callback?: function) => {...}
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
-
-
update
void
Aggiorna una voce di menu contestuale creata in precedenza.
La funzione
update
ha questo aspetto:(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
stringa | numero
L'ID dell'articolo da aggiornare.
-
updateProperties
oggetto
Le proprietà da aggiornare. Accetta gli stessi valori della funzione create.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
-
ContextMenuUpdateProperties
Proprietà
-
selezionato
booleano facoltativo
Lo stato di una casella di controllo o di un pulsante di opzione: true per selezionato e false per non selezionato. È possibile selezionare un solo elemento radio alla volta in un determinato gruppo di elementi radio.
-
contesti
[ContextType, ...ContextType[]] facoltativo
Elenco dei contesti in cui verrà visualizzata questa voce di menu.
-
documentUrlPatterns
string[] facoltativo
Consente di limitare l'elemento in modo che venga applicato solo ai documenti il cui URL corrisponde a uno dei pattern specificati. Ciò vale anche per i frame. Per informazioni dettagliate sul formato di un pattern, vedi Pattern di corrispondenza.
-
attivato
booleano facoltativo
Indica se questa voce del menu contestuale è attivata o disattivata.
-
parentId
stringa | numero facoltativo
L'ID di una voce di menu principale; in questo modo l'elemento diventa un elemento secondario di un elemento aggiunto in precedenza. Nota:non puoi impostare un elemento come elemento secondario di uno dei suoi discendenti.
-
targetUrlPatterns
string[] facoltativo
Simile a documentUrlPatterns, ma consente di filtrare in base all'attributo
src
dei tag img/audio/video e all'attributohref
dei tag di ancoraggio. -
titolo
stringa facoltativa
Il testo da visualizzare nell'elemento
-
tipo
ItemType facoltativo
Il tipo di voce di menu.
-
onclick
void optional
Una funzione che verrà richiamata quando viene fatto clic sulla voce di menu.
La funzione
onclick
ha questo aspetto:(info: OnClickData) => {...}
-
informazioni
Informazioni sull'elemento su cui è stato fatto clic e sul contesto in cui è avvenuto il clic.
-
ContextType
I diversi contesti in cui può essere visualizzato un menu. Specificare "all" equivale alla combinazione di tutti gli altri contesti.
Enum
"all"
"page"
"frame"
"selection"
"link"
"editable"
"image"
"video"
"audio"
DialogController
Interfaccia collegata agli eventi DOM dialog
.
Proprietà
-
annulla
void
Rifiuta la finestra di dialogo. Equivalente a fare clic su Annulla in una finestra di dialogo
confirm
oprompt
.La funzione
cancel
ha questo aspetto:() => {...}
-
ok
void
Accetta la finestra di dialogo. Equivalente a fare clic su OK in una finestra di dialogo
alert
,confirm
oprompt
.La funzione
ok
ha questo aspetto:(response?: string) => {...}
-
risposta
stringa facoltativa
La stringa di risposta da fornire all'ospite quando accetta una finestra di dialogo
prompt
.
-
DialogMessageType
Il tipo di finestra di dialogo modale richiesta dall'ospite.
Enum
"alert"
"conferma"
"prompt"
DownloadPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM download
permissionrequest
.
Proprietà
-
requestMethod
stringa
Il tipo di richiesta HTTP (ad es.
GET
) associato alla richiesta di download. -
url
stringa
L'URL di download richiesto.
-
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione. Questo è il comportamento predefinito se
allow
non viene chiamato.La funzione
deny
ha questo aspetto:() => {...}
ExitReason
Stringa che indica il motivo dell'uscita.
Enum
"normal"
"anomalo"
"crashed"
"killed"
"oom killed"
"oom"
"failed to launch"
"integrity failure"
FileSystemPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM filesystem
permissionrequest
.
Proprietà
-
url
stringa
L'URL del frame che richiede l'accesso al file system locale.
-
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione.
La funzione
deny
ha questo aspetto:() => {...}
FindCallbackResults
Contiene tutti i risultati della richiesta di ricerca.
Proprietà
-
activeMatchOrdinal
numero
Il numero ordinale della partita attuale.
-
annullati
booleano
Indica se questa richiesta di ricerca è stata annullata.
-
numberOfMatches
numero
Il numero di volte in cui
searchText
è stato trovato nella pagina. -
selectionRect
Descrive un rettangolo attorno alla corrispondenza attiva nelle coordinate dello schermo.
FindOptions
Opzioni per la richiesta di ricerca.
Proprietà
-
indietro
booleano facoltativo
Flag per trovare corrispondenze in ordine inverso. Il valore predefinito è
false
. -
matchCase
booleano facoltativo
Flag per la corrispondenza con distinzione tra maiuscole e minuscole. Il valore predefinito è
false
.
FullscreenPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM fullscreen
permissionrequest
.
Proprietà
-
origine
stringa
L'origine del frame all'interno di
webview
che ha avviato la richiesta a schermo intero. -
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione.
La funzione
deny
ha questo aspetto:() => {...}
GeolocationPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM geolocation
permissionrequest
.
Proprietà
-
url
stringa
L'URL del frame che richiede l'accesso ai dati di geolocalizzazione.
-
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione. Questo è il comportamento predefinito se
allow
non viene chiamato.La funzione
deny
ha questo aspetto:() => {...}
HidPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM hid
permissionrequest
.
Proprietà
-
url
stringa
L'URL del frame che richiede l'accesso all'API HID.
-
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione. Questo è il comportamento predefinito se
allow
non viene chiamato.La funzione
deny
ha questo aspetto:() => {...}
InjectDetails
Dettagli dello script o del CSS da inserire. Devi impostare la proprietà del codice o del file, ma non entrambe contemporaneamente.
Proprietà
-
codice
stringa facoltativa
Codice JavaScript o CSS da inserire.
Avviso: fai attenzione quando utilizzi il parametro
code
. L'utilizzo errato può esporre la tua app ad attacchi di cross-site scripting. -
file
stringa facoltativa
File JavaScript o CSS da inserire.
InjectionItems
Il tipo di elemento di iniezione: codice o un insieme di file.
Proprietà
-
codice
stringa facoltativa
Codice JavaScript o CSS da inserire nelle pagine corrispondenti.
-
file
string[] facoltativo
L'elenco dei file JavaScript o CSS da inserire nelle pagine corrispondenti. Questi vengono inseriti nell'ordine in cui appaiono in questo array.
LoadAbortReason
Stringa che indica il tipo di interruzione che si è verificata. Non è garantito che questa stringa rimanga compatibile con le versioni precedenti tra le release. Non devi analizzare e agire in base ai suoi contenuti. È anche possibile che, in alcuni casi, venga segnalato un errore non elencato qui.
Enum
"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
Il tipo di oggetto request
che accompagna un evento DOM loadplugin
permissionrequest
.
Proprietà
-
identificatore
stringa
La stringa identificatore del plug-in.
-
nome
stringa
Il nome visualizzato del plug-in.
-
allow
void
Consenti la richiesta di autorizzazione. Questo è il comportamento predefinito se
deny
non viene chiamato.La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione.
La funzione
deny
ha questo aspetto:() => {...}
MediaPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM media
permissionrequest
.
Proprietà
-
url
stringa
L'URL del frame che richiede l'accesso ai contenuti multimediali dell'utente.
-
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione. Questo è il comportamento predefinito se
allow
non viene chiamato.La funzione
deny
ha questo aspetto:() => {...}
NewWindow
Interfaccia collegata agli eventi DOM newwindow
.
Proprietà
-
allegare
void
Collega la pagina di destinazione richiesta a un elemento
webview
esistente.La funzione
attach
ha questo aspetto:(webview: object) => {...}
-
webview
oggetto
L'elemento
webview
a cui deve essere allegata la pagina di destinazione.
-
-
Annulla
void
Annulla la richiesta di nuova finestra.
La funzione
discard
ha questo aspetto:() => {...}
PermissionType
Il tipo di autorizzazione richiesta.
Enum
"media"
"geolocation"
"pointerLock"
"download"
"loadplugin"
"filesystem"
"fullscreen"
"hid"
PointerLockPermissionRequest
Il tipo di oggetto request
che accompagna un evento DOM pointerLock
permissionrequest
.
Proprietà
-
lastUnlockedBySelf
booleano
Indica se il frame richiedente è stato l'ultimo client a bloccare il puntatore.
-
url
stringa
L'URL del frame che richiede il blocco del puntatore.
-
userGesture
booleano
Indica se il blocco del puntatore è stato richiesto a seguito di un gesto di input dell'utente.
-
allow
void
Consenti la richiesta di autorizzazione.
La funzione
allow
ha questo aspetto:() => {...}
-
deny
void
Rifiuta la richiesta di autorizzazione. Questo è il comportamento predefinito se
allow
non viene chiamato.La funzione
deny
ha questo aspetto:() => {...}
SelectionRect
Descrive un rettangolo nelle coordinate dello schermo.
La semantica di contenimento è simile a quella di un array, ovvero la coordinata (left, top)
è considerata contenuta nel rettangolo, ma la coordinata (left + width, top)
no.
Proprietà
-
altezza
numero
Altezza del rettangolo.
-
sinistra
numero
Distanza dal bordo sinistro dello schermo al bordo sinistro del rettangolo.
-
in alto
numero
Distanza dal bordo superiore dello schermo al bordo superiore del rettangolo.
-
larghezza
numero
Larghezza del rettangolo.
StopFindingAction
Determina cosa fare con la corrispondenza attiva al termine della sessione di ricerca. clear
cancellerà l'evidenziazione della corrispondenza attiva; keep
manterrà evidenziata la corrispondenza attiva; activate
manterrà evidenziata la corrispondenza attiva e simulerà un clic dell'utente su quella corrispondenza. L'azione predefinita è keep
.
Enum
"clear"
"keep"
"attiva"
WebRequestEventInterface
Interfaccia che fornisce l'accesso agli eventi webRequest nella pagina ospite. Per informazioni dettagliate sul ciclo di vita di webRequest e sui concetti correlati, consulta l'API delle estensioni chrome.webRequest. Nota: l'evento chrome.webRequest.onActionIgnored non è supportato per le visualizzazioni web.
Per illustrare in che modo l'utilizzo differisce dall'API webRequest delle estensioni, considera il seguente codice di esempio che blocca qualsiasi richiesta ospite per gli URL che corrispondono a *://www.evil.com/*
:
webview.request.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]);
Inoltre, questa interfaccia supporta le regole webRequest dichiarative tramite gli eventi onRequest
e onMessage
. Per i dettagli dell'API, consulta declarativeWebRequest
.
Tieni presente che le condizioni e le azioni per le richieste web declarative della webview devono essere istanziate dalle rispettive controparti chrome.webViewRequest.*
. Il seguente codice di esempio blocca in modo dichiarativo tutte le richieste a "example.com"
nella webview myWebview
:
var rule = {
conditions: [
new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
],
actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);
WindowOpenDisposition
La disposizione richiesta della nuova finestra.
Enum
"ignore"
"save_to_disk"
"current_tab"
"new_background_tab"
"new_foreground_tab"
"new_window"
"new_popup"
ZoomMode
Definisce la gestione dello zoom in webview
.
Enum
"per origine"
Le modifiche allo zoom verranno mantenute nell'origine della pagina con zoom, ovvero tutte le altre webview nella stessa partizione che vengono navigate nella stessa origine verranno ingrandite. Inoltre, le modifiche allo zoom vengono salvate con l'origine, il che significa che quando si passa ad altre pagine della stessa origine, tutte avranno lo stesso livello di zoom.per-origin
"per visualizzazione"
Le modifiche allo zoom hanno effetto solo in questa webview e le modifiche allo zoom in altre webview non influiranno sullo zoom di questa webview. Inoltre, le modifiche allo zoom per-view
vengono reimpostate durante la navigazione; la navigazione in una webview caricherà sempre le pagine con i fattori di zoom per origine (nell'ambito della partizione).
"disabled"
Disattiva tutto lo zoom nella webview. Il contenuto tornerà al livello di zoom predefinito e tutte le modifiche allo zoom tentate verranno ignorate.
Proprietà
contentWindow
Riferimento all'oggetto che può essere utilizzato per pubblicare messaggi nella pagina dell'ospite.
Tipo
contextMenus
Simile all'API ContextMenus di Chrome, ma si applica a webview
anziché al browser. Utilizza l'API webview.contextMenus
per aggiungere elementi al menu contestuale di webview
. Puoi scegliere a quali tipi di oggetti si applicano le aggiunte al menu contestuale, ad esempio immagini, link ipertestuali e pagine.
Tipo
request
Interfaccia che fornisce l'accesso agli eventi webRequest nella pagina ospite.
Metodi
addContentScripts()
chrome.webviewTag.addContentScripts(
contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
): void
Aggiunge regole di inserimento di script di contenuti a webview
. Quando webview
passa a una pagina che corrisponde a una o più regole, gli script associati vengono inseriti. Puoi aggiungere regole o aggiornare quelle esistenti in modo programmatico.
L'esempio seguente aggiunge due regole a webview
: "myRule" e "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';
Puoi posticipare la chiamata addContentScripts fino a quando non devi inserire gli script.
L'esempio seguente mostra come sovrascrivere una regola esistente.
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'}]);
Se webview
è stato spostato all'origine (ad es. foo.com) e chiama webview.addContentScripts
per aggiungere "myRule", devi attendere la navigazione successiva per inserire gli script. Se vuoi un'iniezione immediata, executeScript
farà la cosa giusta.
Le regole vengono mantenute anche se il processo guest si arresta in modo anomalo o viene interrotto o anche se webview
viene riassegnato.
Per ulteriori dettagli, consulta la documentazione relativa agli script dei contenuti.
Parametri
-
contentScriptList
Dettagli degli script di contenuti da aggiungere.
back()
chrome.webviewTag.back(
callback?: function,
): void
Se possibile, torna indietro di una voce della cronologia. Equivalente a go(-1)
.
Parametri
-
callback
funzione facoltativa
Chrome 44+Il parametro
callback
ha il seguente aspetto:(success: boolean) => void
-
operazione riuscita
booleano
Indica se la navigazione è andata a buon fine.
-
canGoBack()
chrome.webviewTag.canGoBack(): boolean
Indica se è possibile o meno tornare indietro nella cronologia. Lo stato di questa funzione viene memorizzato nella cache e aggiornato prima di ogni loadcommit
, quindi il posto migliore per chiamarla è loadcommit
.
Resi
-
booleano
canGoForward()
chrome.webviewTag.canGoForward(): boolean
Indica se è possibile andare avanti nella cronologia. Lo stato di questa funzione viene memorizzato nella cache e aggiornato prima di ogni loadcommit
, quindi il posto migliore per chiamarla è loadcommit
.
Resi
-
booleano
captureVisibleRegion()
chrome.webviewTag.captureVisibleRegion(
options?: ImageDetails,
callback: function,
): void
Acquisisce la regione visibile della visualizzazione web.
Parametri
-
opzioni
ImageDetails facoltativo
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(dataUrl: string) => void
-
dataUrl
stringa
Un URL dati che codifica un'immagine dell'area visibile della scheda acquisita. Può essere assegnato alla proprietà "src" di un elemento immagine HTML per la visualizzazione.
-
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
): void
Cancella i dati di navigazione per la partizione webview
.
Parametri
-
opzioni
Opzioni che determinano quali dati cancellare.
-
tipi
I tipi di dati da cancellare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
): void
Inserisce il codice JavaScript nella pagina ospite.
Il seguente codice di esempio utilizza l'inserimento di script per impostare il colore di sfondo della pagina ospite su rosso:
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
Parametri
-
dettagli
Dettagli dello script da eseguire.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result?: any[]) => void
-
risultato
any[] facoltativo
Il risultato dello script in ogni frame inserito.
-
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
): void
Avvia una richiesta di ricerca nella pagina.
Parametri
-
searchText
stringa
La stringa da trovare nella pagina.
-
opzioni
FindOptions facoltativo
Opzioni per la richiesta di ricerca.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(results?: FindCallbackResults) => void
-
risultati
FindCallbackResults facoltativo
Contiene tutti i risultati della richiesta di ricerca.
results
può essere omesso se non viene utilizzato nel corpo della funzione di callback, ad esempio se il callback viene utilizzato solo per capire quando la richiesta di ricerca è stata completata.
-
forward()
chrome.webviewTag.forward(
callback?: function,
): void
Se possibile, passa alla voce successiva della cronologia. Equivalente a go(1)
.
Parametri
-
callback
funzione facoltativa
Chrome 44+Il parametro
callback
ha il seguente aspetto:(success: boolean) => void
-
operazione riuscita
booleano
Indica se la navigazione è andata a buon fine.
-
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
): void
Esegue query sullo stato dell'audio.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(audible: boolean) => void
-
audible
booleano
-
getProcessId()
chrome.webviewTag.getProcessId(): number
Restituisce l'ID processo interno di Chrome per il processo corrente della pagina web ospite, consentendo agli incorporatori di sapere quanti ospiti sarebbero interessati dalla terminazione del processo. Due ospiti condivideranno un processo solo se appartengono alla stessa app e hanno lo stesso ID partizione di archiviazione. La chiamata è sincrona e restituisce la nozione memorizzata nella cache dell'incorporatore dell'ID processo corrente. L'ID processo non è lo stesso dell'ID processo del sistema operativo.
Resi
-
numero
getUserAgent()
chrome.webviewTag.getUserAgent(): string
Restituisce la stringa user agent utilizzata da webview
per le richieste di pagine ospiti.
Resi
-
stringa
getZoom()
chrome.webviewTag.getZoom(
callback: function,
): void
Restituisce il fattore di zoom attuale.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(zoomFactor: number) => void
-
zoomFactor
numero
Il fattore di zoom attuale.
-
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
): void
Ottiene la modalità di zoom attuale.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(ZoomMode: ZoomMode) => void
-
ZoomMode
La modalità di zoom attuale di
webview
.
-
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
): void
Passa a una voce della cronologia utilizzando un indice della cronologia relativo alla navigazione corrente. Se la navigazione richiesta è impossibile, questo metodo non ha alcun effetto.
Parametri
-
relativeIndex
numero
Indice della cronologia relativa a cui deve essere spostato il
webview
. Ad esempio, un valore di2
consente di avanzare di due voci della cronologia, se possibile, mentre un valore di-3
consente di tornare indietro di tre voci. -
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean) => void
-
operazione riuscita
booleano
Indica se la navigazione è andata a buon fine.
-
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
): void
Inserisce il CSS nella pagina ospite.
Parametri
-
dettagli
Dettagli del CSS da inserire.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
): void
Esegue query per verificare se l'audio è disattivato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(muted: boolean) => void
-
audio disattivato
booleano
-
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
): void
Esegue una query per verificare se la navigazione spaziale è abilitata per la webview.
Parametri
-
funzione
Il parametro
callback
ha il seguente aspetto:(enabled: boolean) => void
-
booleano
-
isUserAgentOverridden()
chrome.webviewTag.isUserAgentOverridden(): void
Indica se la stringa user agent di webview
è stata sostituita da webviewTag.setUserAgentOverride
.
loadDataWithBaseUrl()
chrome.webviewTag.loadDataWithBaseUrl(
dataUrl: string,
baseUrl: string,
virtualUrl?: string,
): void
Carica un URL di dati con un URL di base specificato utilizzato per i link relativi. Facoltativamente, è possibile fornire un URL virtuale da mostrare all'utente anziché l'URL dei dati.
Parametri
-
dataUrl
stringa
L'URL dei dati da caricare.
-
baseUrl
stringa
L'URL di base che verrà utilizzato per i link relativi.
-
virtualUrl
stringa facoltativa
L'URL che verrà visualizzato dall'utente (nella barra degli indirizzi).
print()
chrome.webviewTag.print(): void
Stampa i contenuti di webview
. Equivale a chiamare la funzione di stampa dello script da webview
stesso.
reload()
chrome.webviewTag.reload(): void
Ricarica la pagina di primo livello corrente.
removeContentScripts()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
): void
Rimuove gli script di contenuti da un webview
.
L'esempio seguente rimuove "myRule", che è stata aggiunta in precedenza.
webview.removeContentScripts(['myRule']);
Puoi rimuovere tutte le regole chiamando:
webview.removeContentScripts();
Parametri
-
scriptNameList
string[] facoltativo
Un elenco dei nomi degli script di contenuti che verranno rimossi. Se l'elenco è vuoto, tutti gli script di contenuti aggiunti a
webview
verranno rimossi.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
): void
Imposta lo stato di disattivazione dell'audio della visualizzazione web.
Parametri
-
disattiva l'audio
booleano
Valore di disattivazione dell'audio
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
): void
Imposta lo stato di navigazione spaziale della webview.
Parametri
-
booleano
Valore dello stato di navigazione spaziale.
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
): void
Esegui l'override della stringa user agent utilizzata da webview
per le richieste di pagine ospiti. L'override farà sì che i valori dell'intestazione del client hint User-Agent e i valori restituiti da navigator.userAgentData
siano vuoti per le richieste di pagine ospiti a cui viene applicato questo override.
Parametri
-
userAgent
stringa
La stringa user agent da utilizzare.
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
): void
Modifica il fattore di zoom della pagina. L'ambito e la persistenza di questa modifica sono determinati dalla modalità di zoom corrente della webview (vedi webviewTag.ZoomMode
).
Parametri
-
zoomFactor
numero
Il nuovo fattore di zoom.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
): void
Imposta la modalità di zoom di webview
.
Parametri
-
ZoomMode
Definisce la gestione dello zoom in
webview
. -
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
stop()
chrome.webviewTag.stop(): void
Interrompe il caricamento della navigazione webview
corrente, se in corso.
stopFinding()
chrome.webviewTag.stopFinding(
action?: StopFindingAction,
): void
Termina la sessione di ricerca corrente (cancellando tutte le evidenziazioni) e annulla tutte le richieste di ricerca in corso.
Parametri
-
azione
StopFindingAction facoltativo
Determina cosa fare con la corrispondenza attiva al termine della sessione di ricerca.
clear
cancellerà l'evidenziazione della corrispondenza attiva;keep
manterrà evidenziata la corrispondenza attiva;activate
manterrà evidenziata la corrispondenza attiva e simulerà un clic dell'utente su quella corrispondenza. L'azione predefinita èkeep
.
terminate()
chrome.webviewTag.terminate(): void
Interrompe forzatamente il processo di rendering della pagina web ospite. Ciò potrebbe influire su più tag webview
nell'app corrente se condividono lo stesso processo, ma non influirà sui tag webview
in altre app.
Eventi
close
chrome.webviewTag.close.addListener(
callback: function,
)
Attivato quando la finestra ospite tenta di chiudersi.
Il seguente codice di esempio sposta webview
su about:blank
quando l'ospite tenta di chiudersi.
webview.addEventListener('close', function() {
webview.src = 'about:blank';
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
Attivato quando la finestra ospite registra un messaggio della console.
Il seguente codice di esempio inoltra tutti i messaggi di log alla console dell'incorporatore senza tenere conto del livello di log o di altre proprietà.
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(level: number, message: string, line: number, sourceId: string) => void
-
livello
numero
-
messaggio
stringa
-
linea
numero
-
sourceId
stringa
-
contentload
chrome.webviewTag.contentload.addListener(
callback: function,
)
Attivato quando la finestra ospite attiva un evento load
, ovvero quando viene caricato un nuovo documento. Non sono inclusi la navigazione della pagina all'interno del documento corrente o i caricamenti asincroni delle risorse.
Il seguente codice di esempio modifica le dimensioni predefinite del carattere dell'elemento body
dell'ospite dopo il caricamento della pagina:
webview.addEventListener('contentload', function() {
webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
Attivato quando la finestra ospite tenta di aprire una finestra di dialogo modale tramite window.alert
, window.confirm
o window.prompt
.
La gestione di questo evento bloccherà il processo ospite finché ogni listener di eventi non restituisce o l'oggetto dialog
non diventa irraggiungibile (se è stato chiamato preventDefault()
).
Il comportamento predefinito prevede la chiusura della finestra di dialogo.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(messageType: DialogMessageType, messageText: string, dialog: DialogController) => void
-
messageType
-
messageText
stringa
-
finestra di dialogo
-
exit
chrome.webviewTag.exit.addListener(
callback: function,
)
Attivato quando il processo di rendering dei contenuti web ospiti è terminato.
Il seguente codice di esempio mostrerà un messaggio di addio ogni volta che la pagina guest si arresta in modo anomalo:
webview.addEventListener('exit', function(e) {
if (e.reason === 'crash') {
webview.src = 'data:text/plain,Goodbye, world!';
}
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
processID
numero
ID interno di Chrome del processo che è stato chiuso.
-
motivo
Stringa che indica il motivo dell'uscita.
-
-
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
Attivato quando sono disponibili nuovi risultati di ricerca per una richiesta di ricerca attiva. Ciò potrebbe verificarsi più volte per una singola richiesta di ricerca man mano che vengono trovate corrispondenze.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
-
searchText
stringa
-
numberOfMatches
numero
-
activeMatchOrdinal
numero
-
selectionRect
-
annullati
booleano
-
finalUpdate
stringa
-
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
Attivato quando un caricamento di primo livello è stato interrotto senza essere eseguito. A meno che l'evento non venga impedito, nella console verrà stampato un messaggio di errore.
Nota:quando un caricamento di risorse viene interrotto, a un evento loadabort
seguirà un evento loadstop
, anche se tutti i caricamenti di cui è stato eseguito il commit dall'ultimo evento loadstop
(se presente) sono stati interrotti.
Nota:quando il caricamento di un URL about o di un URL JavaScript viene interrotto, viene attivato loadabort
e poi webview
viene reindirizzato a "about:blank".
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void
-
url
stringa
-
isTopLevel
booleano
-
codice
numero
-
motivo
-
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
Attivato quando un caricamento è stato eseguito. Sono inclusi la navigazione all'interno del documento corrente e i caricamenti a livello di documento del subframe, ma non i caricamenti asincroni delle risorse.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(url: string, isTopLevel: boolean) => void
-
url
stringa
-
isTopLevel
booleano
-
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
Attivato quando una richiesta di caricamento di primo livello è stata reindirizzata a un URL diverso.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
-
oldUrl
stringa
-
newUrl
stringa
-
isTopLevel
booleano
-
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
Attivato quando è iniziato un caricamento.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(url: string, isTopLevel: boolean) => void
-
url
stringa
-
isTopLevel
booleano
-
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
Attivato quando tutti i caricamenti a livello di frame in una pagina ospite (inclusi tutti i relativi subframe) sono stati completati. Sono inclusi la navigazione all'interno del documento corrente e i caricamenti a livello di documento del subframe, ma non i caricamenti asincroni delle risorse. Questo evento viene attivato ogni volta che il numero di caricamenti a livello di documento passa da uno (o più) a zero. Ad esempio, se una pagina ha già terminato il caricamento (ovvero loadstop
(già attivato una volta) crea un nuovo iframe che carica una pagina, quindi viene attivato un secondo loadstop
al termine del caricamento della pagina iframe. Questo pattern viene osservato comunemente nelle pagine che caricano gli annunci.
Nota:quando un caricamento definitivo viene interrotto, a un evento loadstop
seguirà un evento loadabort
, anche se tutti i caricamenti definitivi dall'ultimo evento loadstop
(se presente) sono stati interrotti.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:() => void
newwindow
chrome.webviewTag.newwindow.addListener(
callback: function,
)
Attivato quando la pagina ospite tenta di aprire una nuova finestra del browser.
Il seguente codice di esempio creerà e navigherà in un nuovo webview
nell'incorporatore per ogni nuova finestra richiesta:
webview.addEventListener('newwindow', function(e) {
var newWebview = document.createElement('webview');
document.body.appendChild(newWebview);
e.window.attach(newWebview);
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void
-
finestra
-
targetUrl
stringa
-
initialWidth
numero
-
initialHeight
numero
-
nome
stringa
-
windowOpenDisposition
-
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
Attivato quando la pagina ospite deve richiedere un'autorizzazione speciale all'incorporatore.
Il seguente codice di esempio concede alla pagina guest l'accesso all'API webkitGetUserMedia
. Tieni presente che un'app che utilizza questo codice di esempio deve specificare le autorizzazioni manifest audioCapture
e/o videoCapture
:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(permission: PermissionType, request: object) => void
-
autorizzazione
-
richiesta
oggetto
-
responsive
chrome.webviewTag.responsive.addListener(
callback: function,
)
Attivato quando il processo di rendering dei contenuti web ospiti è tornato a rispondere dopo aver smesso di farlo.
Il seguente codice di esempio mostra la dissolvenza in entrata o in uscita dell'elemento webview
quando diventa reattivo o non reattivo:
webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
webview.style.opacity = '1';
});
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(processID: number) => void
-
processID
numero
-
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
Attivato quando i contenuti web incorporati sono stati ridimensionati tramite autosize
. Viene attivato solo se autosize
è abilitato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
-
oldWidth
numero
-
oldHeight
numero
-
newWidth
numero
-
newHeight
numero
-
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
Attivato quando il processo di rendering dei contenuti web guest non risponde più. Questo evento verrà generato una sola volta con un evento reattivo corrispondente se l'ospite inizia a rispondere di nuovo.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(processID: number) => void
-
processID
numero
-
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
Attivato quando cambia lo zoom della pagina.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(oldZoomFactor: number, newZoomFactor: number) => void
-
oldZoomFactor
numero
-
newZoomFactor
numero
-