Classe google.script.history (API lato client)

google.script.history è un'API JavaScript lato client asincrona in grado di interagire con lo stack della cronologia del browser. Può essere utilizzata solo nel contesto di un'app web che utilizza IFRAME. Non è destinato all'utilizzo con le barre laterali e le finestre di dialogo in un contesto di componenti aggiuntivi o container-script. Per maggiori informazioni, consulta la guida all'utilizzo della cronologia del browser nelle app web.

Metodi

MetodoTipo restituitoBreve descrizione
push(stateObject, params, hash) void Invia l'oggetto di stato fornito, i parametri URL e il frammento URL allo stack della cronologia del browser.
replace(stateObject, params, hash) void Sostituisce l'evento principale nello stack della cronologia del browser con l'oggetto di stato fornito, i parametri URL e il frammento URL.
setChangeHandler(function) void Imposta una funzione di callback per rispondere alle modifiche nella cronologia del browser

Documentazione dettagliata

push(stateObject, params, hash)

Invia l'oggetto di stato fornito, i parametri URL e il frammento URL allo stack della cronologia del browser. L'oggetto state è un semplice oggetto JavaScript definito dallo sviluppatore e che può contenere qualsiasi dato pertinente allo stato attuale dell'app. Questo metodo è analogo al metodo JavaScript pushState().

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.push(state, params, "anchor1");

Parametri

NomeTipoDescrizione
stateObjectObjectUn oggetto definito dallo sviluppatore da associare a un evento della cronologia del browser e che viene visualizzato di nuovo quando lo stato viene attivato. Utilizzato in genere per archiviare le informazioni sullo stato dell'applicazione (ad esempio i dati della pagina) per recuperarle in futuro.
paramsObjectUn oggetto contenente i parametri URL da associare a questo stato. Ad esempio, {foo: “bar”, fiz: “baz”} equivale a "?foo=bar&fiz=baz". In alternativa, possono essere utilizzati array: {foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz". Se null o non definito, i parametri URL correnti non vengono modificati. Se vuoto, i parametri URL vengono cancellati.
hashStringIl frammento dell'URL della stringa visualizzato dopo il carattere "#". Se null o non definito, il frammento di URL corrente non viene modificato. Se vuoto, il frammento di URL viene cancellato.


replace(stateObject, params, hash)

Sostituisce l'evento principale nello stack della cronologia del browser con l'oggetto di stato fornito (definito dallo sviluppatore), i parametri URL e il frammento di URL. Questo metodo è identico a quello di push().

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.replace(state, params, "anchor1");

Parametri

NomeTipoDescrizione
stateObjectObjectUn oggetto definito dallo sviluppatore da associare a un evento della cronologia del browser e che viene visualizzato di nuovo quando lo stato viene attivato. Utilizzato in genere per archiviare le informazioni sullo stato dell'applicazione (ad esempio i dati della pagina) per recuperarle in futuro.
paramsObjectUn oggetto contenente i parametri URL da associare a questo stato. Ad esempio, {foo: “bar”, fiz: “baz”} equivale a "?foo=bar&fiz=baz". In alternativa, possono essere utilizzati array: {foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz". Se null o non definito, i parametri URL correnti non vengono modificati. Se vuoto, i parametri URL vengono cancellati.
hashStringIl frammento dell'URL della stringa visualizzato dopo il carattere "#". Se null o non definito, il frammento di URL corrente non viene modificato. Se vuoto, il frammento di URL viene cancellato.

setChangeHandler(function)

Imposta una funzione di callback per rispondere alle modifiche nella cronologia del browser. La funzione di callback deve utilizzare un solo oggetto evento come argomento.

Index.html

google.script.history.setChangeHandler(function (e) {
  console.log(e.state);
  console.log(e.location.parameters);
  console.log(e.location.hash);

  // Adjust web app UI to match popped state here...
});

Parametri

NomeTipoDescrizione
functionFunctionuna funzione di callback lato client da eseguire su un evento di modifica della cronologia, utilizzando l'oggetto evento come unico argomento.

Oggetto evento

Campi
e.state

L'oggetto di stato associato all'evento visualizzato tramite POP. Questo oggetto è identico all'oggetto di stato utilizzato nel metodo push() o replace() corrispondente che ha aggiunto lo stato scaricato allo stack della cronologia.

{"page":2, "name":"Wilbur"}
e.location

Un oggetto posizione associato all'evento visualizzato tramite POP

{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}