Descrizione
Utilizza l'API chrome.webNavigation
per ricevere notifiche sullo stato delle richieste di navigazione in corso.
Autorizzazioni
webNavigation
Tutti i metodi e gli eventi chrome.webNavigation
richiedono di dichiarare l'autorizzazione "webNavigation"
nel manifest delle estensioni. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"webNavigation"
],
...
}
Concetti e utilizzo
Ordine evento
Per una navigazione completata correttamente, gli eventi vengono attivati nel seguente ordine:
onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted
Qualsiasi errore che si verifica durante il processo genera un evento onErrorOccurred
. Per una navigazione
specifica, non ci sono altri eventi attivati dopo il giorno onErrorOccurred
.
Se un frame di navigazione contiene frame secondari, il relativo onCommitted
viene attivato prima di qualsiasi onBeforeNavigate
secondario, mentre onCompleted
viene attivato dopo tutti i onCompleted
di tutti gli elementi secondari.
Se il frammento di riferimento di un frame viene modificato, viene attivato un evento onReferenceFragmentUpdated
. Questo
evento può attivarsi in qualsiasi momento dopo il giorno onDOMContentLoaded
, anche dopo le ore onCompleted
.
Se l'API History viene utilizzata per modificare lo stato di un frame (ad esempio, utilizzando history.pushState()
, viene attivato un evento onHistoryStateUpdated
. Questo evento può attivarsi in qualsiasi momento dopo il giorno onDOMContentLoaded
.
Se una navigazione ha ripristinato una pagina dalla cache back-forward, l'evento onDOMContentLoaded
non viene attivato. L'evento non viene attivato perché i contenuti hanno già completato il caricamento quando la pagina è stata visitata per la prima volta.
Se una navigazione è stata attivata utilizzando Chrome Instant o Pagine istantanee, una pagina completamente caricata viene scambiata nella scheda corrente. In questo caso viene attivato un evento onTabReplaced
.
Relazione con eventi webRequest
Non esiste un ordinamento definito tra gli eventi dell'API webRequest e gli eventi dell'API webNavigator. È possibile che gli eventi webRequest vengano ancora ricevuti per i frame che hanno già avviato una nuova navigazione o che la navigazione continui solo dopo che le risorse di rete sono già state caricate completamente.
In generale, gli eventi webNavigator sono strettamente correlati allo stato di navigazione visualizzato nell'interfaccia utente, mentre gli eventi webRequest corrispondono allo stato dello stack di rete che è generalmente opaco per l'utente.
ID scheda
Non tutte le schede di navigazione corrispondono a schede effettive nell'interfaccia utente di Chrome, ad esempio una scheda in fase di pre-rendering. Queste schede non sono accessibili utilizzando l'API delle schede e non puoi richiedere informazioni
alle schede chiamando webNavigation.getFrame()
o webNavigation.getAllFrames()
. Una volta scambiata una scheda di questo tipo, viene attivato un evento onTabReplaced
che diventa accessibile tramite queste API.
Timestamp
È importante notare che alcune stranezze tecniche nella gestione di diversi processi di Chrome da parte del sistema operativo possono causare un'inclinazione dell'orologio tra il browser stesso e i processi delle estensioni. Ciò
significa che la proprietà timeStamp
della proprietà timeStamp
dell'evento WebNavigation
garantisce che sia
coerente solo internamente. Se confronti un evento con un altro, otterrai l'offset corretto tra i due eventi, ma se li confronti con l'ora attuale all'interno dell'estensione (ad esempio, utilizzando (new Date()).getTime()
) potresti ottenere risultati imprevisti.
ID frame
I frame all'interno di una scheda possono essere identificati da un ID frame. L'ID frame del frame principale è sempre 0, mentre l'ID dei frame secondari è un numero positivo. Una volta creato un documento in un frame, il suo ID frame rimane costante per tutta la durata del documento. A partire da Chrome 49, questo ID è costante per la durata del frame (in più navigazioni).
Data la natura multi-processo di Chrome, una scheda potrebbe utilizzare processi diversi per visualizzare l'origine e la destinazione di una pagina web. Di conseguenza, se una navigazione avviene in un nuovo processo, potresti ricevere eventi sia dalla nuova pagina che dalla vecchia pagina fino al commit della nuova navigazione (ovvero l'evento onCommitted
viene inviato per il nuovo frame principale). In altre parole, è possibile avere più
di una sequenza in attesa di eventi webNavigator con lo stesso frameId
. Le sequenze possono essere
distingite dal tasto processId
.
Inoltre, tieni presente che durante un caricamento provvisorio il processo potrebbe essere cambiato più volte. Questo accade quando il carico viene reindirizzato a un altro sito. In questo caso, riceverai eventi onBeforeNavigate
e onErrorOccurred
ripetuti fino a quando non riceverai l'evento onCommitted
finale.
Un altro concetto problematico delle estensioni è il ciclo di vita del frame. Un frame ospita un documento (associato a un URL di cui hai eseguito il commit). Il documento può cambiare (ad esempio tramite la navigazione), mentre il valore frameId no, quindi è difficile associare un evento specifico in un documento specifico solo con frameId. Stiamo introducendo il concetto di documentId, ovvero un identificatore univoco per documento. Se navighi in un frame e apre un nuovo documento, l'identificatore cambia. Questo campo è utile per determinare quando le pagine cambiano lo stato del loro ciclo di vita (tra prerendering/attivo/memorizzato nella cache) perché rimane lo stesso.
Tipi di transizioni e qualificatori
L'evento onCommitted
webNavigation
ha una proprietà transitionType
e una
proprietà transitionQualifiers
. Il tipo di transizione è lo stesso utilizzato nell'API History che descrive la modalità di navigazione del browser verso questo specifico URL. Inoltre, è possibile restituire diversi qualificatori di transizione
che definiscono ulteriormente la navigazione.
Esistono i seguenti qualificatori di transizione:
Qualificatore transizione | Descrizione |
---|---|
"client_redirect" | Durante la navigazione sono stati eseguiti uno o più reindirizzamenti causati da tag JavaScript o meta refresh nella pagina. |
"server_redirect" | Durante la navigazione si sono verificati uno o più reindirizzamenti causati da intestazioni HTTP inviate dal server. |
"forward_back" | L'utente ha utilizzato il pulsante Avanti o Indietro per avviare la navigazione. |
"from_address_bar" | L'utente ha avviato la navigazione dalla barra degli indirizzi (anche nota come omnibox). |
Esempi
Per provare questa API, installa l'esempio dell'API webNavigator dal repository chrome-extension-samples.
Tipi
TransitionQualifier
Enum
"client_redirect"
"forward_back"
"from_address_bar"
TransitionType
Causa della navigazione. Vengono utilizzati gli stessi tipi di transizione definiti nell'API History. Si tratta degli stessi tipi di transizione definiti nell'API History tranne con "start_page"
al posto di "auto_toplevel"
(per la compatibilità con le versioni precedenti).
Enum
"link"
"auto_bookmark"
"auto_subframe"
"manual_subframe"
"start_page"
"form_submit"
Metodi
getAllFrames()
chrome.webNavigation.getAllFrames(
details: object,
callback?: function,
)
Recupera le informazioni su tutti i frame di una determinata scheda.
Parametri
-
dettagli
oggetto
Informazioni sulla scheda da cui recuperare tutti i frame.
-
tabId
numero
L'ID della scheda.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(details?: object[]) => void
-
dettagli
oggetto[] facoltativo
Un elenco di frame nella scheda specificata. Null se l'ID scheda specificato non è valido.
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
errorOccurred
boolean
True se l'ultima navigazione in questo frame è stata interrotta da un errore, ad esempio è stato attivato l'evento onErrorOccurred.
-
frameId
numero
L'ID del frame. 0 indica che si tratta del frame principale, mentre un valore positivo indica l'ID di un frame secondario.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
L'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
L'ID del processo che esegue il renderer per questo frame.
-
url
stringa
L'URL attualmente associato a questo frame.
-
-
Ritorni
-
Promise<object[] | undefined>
Chrome 93 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
getFrame()
chrome.webNavigation.getFrame(
details: object,
callback?: function,
)
Recupera le informazioni sul frame specificato. Un frame si riferisce a un <iframe> o un <frame> di una pagina web ed è identificato da un ID scheda e un ID frame.
Parametri
-
dettagli
oggetto
Informazioni sul frame su cui recuperare le informazioni.
-
documentId
stringa facoltativo
Chrome 106 e versioni successiveL'UUID del documento. Se vengono forniti frameId e/o tabId, questi verranno convalidati in modo che corrispondano al documento trovato in base all'ID documento fornito.
-
frameId
numero facoltativo
L'ID del frame nella scheda specificata.
-
processId
numero facoltativo
Obsoleto da Chrome 49I frame ora sono identificati in modo univoco dall'ID scheda e dall'ID frame; l'ID processo non è più necessario e pertanto viene ignorato.
L'ID del processo che esegue il renderer per questa scheda.
-
tabId
numero facoltativo
L'ID della scheda in cui si trova il frame.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(details?: object) => void
-
dettagli
oggetto facoltativo
Informazioni sul frame richiesto, nulle se l'ID frame e/o l'ID scheda specificati non sono validi.
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
errorOccurred
boolean
True se l'ultima navigazione in questo frame è stata interrotta da un errore, ad esempio è stato attivato l'evento onErrorOccurred.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
L'ID del frame principale o
-1
se questo è il frame principale. -
url
stringa
L'URL attualmente associato a questo frame, se il frame identificato dal frameId esisteva in un punto della scheda specificata. Il fatto che un URL sia associato a un determinato frameId non implica che il frame corrispondente esista ancora.
-
-
Ritorni
-
Promise<object | undefined>
Chrome 93 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
Eventi
onBeforeNavigate
chrome.webNavigation.onBeforeNavigate.addListener(
callback: function,
filters?: object,
)
Attivato quando sta per essere avviata una navigazione.
Parametri
-
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
oggetto
-
Chrome 106 e versioni successive
Il ciclo di vita del documento.
-
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci per una determinata scheda e procedura.
-
Chrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
numero
L'ID del frame principale o
-1
se questo è il frame principale. -
numero
Obsoleto da Chrome 50Il processId non è più impostato per questo evento, poiché il processo che mostrerà il documento risultante non è noto fino a onCommit.
Il valore di -1.
-
numero
L'ID della scheda in cui sta per avvenire la navigazione.
-
numero
Il tempo in millisecondi in cui il browser stava per avviare la navigazione.
-
stringa
-
-
-
oggetto facoltativo
-
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onCommitted
chrome.webNavigation.onCommitted.addListener(
callback: function,
filters?: object,
)
Attivato quando viene eseguito il commit di una navigazione. Il documento (e le risorse a cui fa riferimento, ad esempio immagini e frame secondari) potrebbe essere ancora in fase di download, ma almeno una parte del documento è stata ricevuta dal server e il browser ha deciso di passare al nuovo documento.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
frameId
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci all'interno di una scheda.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
Chrome 74 e versioni successiveL'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
L'ID del processo che esegue il renderer per questo frame.
-
tabId
numero
L'ID della scheda in cui avviene la navigazione.
-
timeStamp
numero
Il tempo in cui è stato eseguito il commit della navigazione, in millisecondi dall'epoca.
-
transitionQualifiers
Un elenco dei qualificatori di transizione.
-
transitionType
Causa della navigazione.
-
url
stringa
-
-
-
filtri
oggetto facoltativo
-
url
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onCompleted
chrome.webNavigation.onCompleted.addListener(
callback: function,
filters?: object,
)
Si attiva quando un documento, incluse le risorse a cui fa riferimento, viene completamente caricato e inizializzato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
frameId
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci all'interno di una scheda.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
Chrome 74 e versioni successiveL'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
L'ID del processo che esegue il renderer per questo frame.
-
tabId
numero
L'ID della scheda in cui avviene la navigazione.
-
timeStamp
numero
Il tempo in millisecondi in cui è terminato il caricamento del documento dall'epoca.
-
url
stringa
-
-
-
filtri
oggetto facoltativo
-
url
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onCreatedNavigationTarget
chrome.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
Attivato quando viene creata una nuova finestra o una nuova scheda in una finestra esistente per ospitare una navigazione.
Parametri
-
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
oggetto
-
numero
L'ID del frame con sourceTabId in cui viene attivata la navigazione. 0 indica il frame principale.
-
numero
L'ID del processo che esegue il renderer per il frame di origine.
-
numero
L'ID della scheda in cui viene attivata la navigazione.
-
numero
L'ID della scheda in cui è aperto l'URL
-
numero
Il tempo in millisecondi in cui il browser stava per creare una nuova visualizzazione, in millisecondi dall'epoca.
-
stringa
L'URL da aprire nella nuova finestra.
-
-
-
oggetto facoltativo
-
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onDOMContentLoaded
chrome.webNavigation.onDOMContentLoaded.addListener(
callback: function,
filters?: object,
)
Attivato quando il DOM della pagina è completamente creato, ma il caricamento delle risorse di riferimento potrebbe non essere completato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
frameId
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci all'interno di una scheda.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
Chrome 74 e versioni successiveL'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
L'ID del processo che esegue il renderer per questo frame.
-
tabId
numero
L'ID della scheda in cui avviene la navigazione.
-
timeStamp
numero
Il tempo in cui il DOM della pagina è stato completamente creato, in millisecondi dall'epoca.
-
url
stringa
-
-
-
filtri
oggetto facoltativo
-
url
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onErrorOccurred
chrome.webNavigation.onErrorOccurred.addListener(
callback: function,
filters?: object,
)
Attivato quando si verifica un errore e la navigazione viene interrotta. Ciò può verificarsi se si è verificato un errore di rete o l'utente ha interrotto la navigazione.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
errore
stringa
La descrizione dell'errore.
-
frameId
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci all'interno di una scheda.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
Chrome 74 e versioni successiveL'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
Obsoleto da Chrome 50Il processId non è più impostato per questo evento.
Il valore di -1.
-
tabId
numero
L'ID della scheda in cui avviene la navigazione.
-
timeStamp
numero
Il momento in cui si è verificato l'errore, in millisecondi dall'epoca.
-
url
stringa
-
-
-
filtri
oggetto facoltativo
-
url
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onHistoryStateUpdated
chrome.webNavigation.onHistoryStateUpdated.addListener(
callback: function,
filters?: object,
)
Attivato quando la cronologia del frame è stata aggiornata con un nuovo URL. Tutti gli eventi futuri per quel frame utilizzeranno l'URL aggiornato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
frameId
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci all'interno di una scheda.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
Chrome 74 e versioni successiveL'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
L'ID del processo che esegue il renderer per questo frame.
-
tabId
numero
L'ID della scheda in cui avviene la navigazione.
-
timeStamp
numero
Il tempo in cui è stato eseguito il commit della navigazione, in millisecondi dall'epoca.
-
transitionQualifiers
Un elenco dei qualificatori di transizione.
-
transitionType
Causa della navigazione.
-
url
stringa
-
-
-
filtri
oggetto facoltativo
-
url
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onReferenceFragmentUpdated
chrome.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
Attivato quando è stato aggiornato il frammento di riferimento di un frame. Tutti gli eventi futuri per quel frame utilizzeranno l'URL aggiornato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successiveL'UUID del documento caricato.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita del documento.
-
frameId
numero
0 indica che la navigazione avviene nella finestra del contenuto della scheda; un valore positivo indica la navigazione in un frame secondario. Gli ID frame sono univoci all'interno di una scheda.
-
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la navigazione.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successiveUn UUID del documento principale proprietario di questo frame. Non è impostato se non esiste un elemento padre.
-
parentFrameId
numero
Chrome 74 e versioni successiveL'ID del frame principale o
-1
se questo è il frame principale. -
processId
numero
L'ID del processo che esegue il renderer per questo frame.
-
tabId
numero
L'ID della scheda in cui avviene la navigazione.
-
timeStamp
numero
Il tempo in cui è stato eseguito il commit della navigazione, in millisecondi dall'epoca.
-
transitionQualifiers
Un elenco dei qualificatori di transizione.
-
transitionType
Causa della navigazione.
-
url
stringa
-
-
-
filtri
oggetto facoltativo
-
url
Condizioni che l'URL visitato deve soddisfare. I campi "schemes" e "ports" di UrlFilter vengono ignorati per questo evento.
-
onTabReplaced
chrome.webNavigation.onTabReplaced.addListener(
callback: function,
)
Viene attivato quando i contenuti della scheda vengono sostituiti da una scheda diversa (di solito sottoposta a pre-rendering in precedenza).
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
replacedTabId
numero
L'ID della scheda sostituita.
-
tabId
numero
L'ID della scheda che ha sostituito la vecchia scheda.
-
timeStamp
numero
Il tempo in millisecondi in cui è avvenuta la sostituzione, in millisecondi dall'epoca.
-
-