Klasse google.script.history (Clientseitige API)

google.script.history ist eine asynchrone clientseitige JavaScript API, die interagieren kann mit dem Browserverlaufs-Stack. Sie kann nur im Kontext einer Webanwendung verwendet werden, IFRAME Es ist nicht für die Verwendung mit Seitenleisten und Dialogfeldern in einem Add-on oder container-script-Kontext. Weitere Informationen finden Sie in der Leitfaden zur Verwendung des Browsers in Web-Apps.

Methoden

MethodeRückgabetypKurzbeschreibung
push(stateObject, params, hash) void Überträgt das angegebene Statusobjekt, die URL-Parameter und das URL-Fragment an den Browserverlauf Stacks.
replace(stateObject, params, hash) void Ersetzt das oberste Ereignis im Browserverlaufsstapel durch das angegebene Statusobjekt URL. und URL-Fragment.
setChangeHandler(function) void Legt eine Callback-Funktion fest, um auf Änderungen im Browserverlauf zu reagieren

Detaillierte Dokumentation

push(stateObject, params, hash)

Überträgt das angegebene Statusobjekt, die URL-Parameter und das URL-Fragment an den Browserverlauf Stacks. Das state-Objekt ist ein einfaches JavaScript-Objekt, das vom Entwickler definiert wird und alle Daten enthalten, die für den aktuellen Status der App relevant sind. Diese Methode ist analog zur pushState() JavaScript-Methode.

Index.html

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

Parameter

NameTypBeschreibung
stateObjectObjectEin vom Entwickler definiertes Objekt, das die mit einem Ereignis im Browserverlauf verknüpft sind und wieder angezeigt werden, wenn der Status aufgerufen wird. Normalerweise werden verwendet, um Informationen zum Anwendungsstatus (z. B. Seitendaten) für den zukünftigen Abruf zu speichern.
paramsObjectEin Objekt mit URL-Parametern für die mit diesem Bundesstaat verknüpft sind. Beispiel: {foo: “bar”, fiz: “baz”} entspricht "?foo=bar&fiz=baz". Alternativ können Arrays verwendet werden: {foo: [“bar”, “cat”], fiz: “baz”} entspricht "?foo=bar&foo=cat&fiz=baz". Wenn null oder nicht definiert ist, werden die aktuellen URL-Parameter nicht geändert. Wenn leer, sind die URL-Parameter gelöscht.
hashStringDas Zeichenfolgen-URL-Fragment, das nach das # Zeichen. Wenn null oder nicht definiert ist, wird das aktuelle URL-Fragment nicht geändert. Wenn das Feld leer ist, URL-Fragment wurde gelöscht.


replace(stateObject, params, hash)

Ersetzt das oberste Ereignis im Browserverlaufsstapel durch den angegebenen (vom Entwickler definierten) Status -Objekt, URL-Parameter und URL-Fragment. Ansonsten entspricht dies push().

Index.html

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

Parameter

NameTypBeschreibung
stateObjectObjectEin vom Entwickler definiertes Objekt, das die mit einem Ereignis im Browserverlauf verknüpft sind und wieder angezeigt werden, wenn der Status aufgerufen wird. Normalerweise werden verwendet, um Informationen zum Anwendungsstatus (z. B. Seitendaten) für den zukünftigen Abruf zu speichern.
paramsObjectEin Objekt mit URL-Parametern für die mit diesem Bundesstaat verknüpft sind. Beispiel: {foo: “bar”, fiz: “baz”} entspricht "?foo=bar&fiz=baz". Alternativ können Arrays verwendet werden: {foo: [“bar”, “cat”], fiz: “baz”} entspricht "?foo=bar&foo=cat&fiz=baz". Wenn null oder nicht definiert ist, werden die aktuellen URL-Parameter nicht geändert. Wenn leer, sind die URL-Parameter gelöscht.
hashStringDas Zeichenfolgen-URL-Fragment, das nach das # Zeichen. Wenn null oder nicht definiert ist, wird das aktuelle URL-Fragment nicht geändert. Wenn das Feld leer ist, URL-Fragment wurde gelöscht.

setChangeHandler(function)

Legt eine Callback-Funktion fest, die auf Änderungen im Browserverlauf reagiert. Die Callback-Funktion sollte nur ein einzelnes Ereignisobjekt als Argument verwenden.

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...
});

Parameter

NameTypBeschreibung
functionFunctionclientseitig Callback-Funktion zur Ausführung bei einem Verlaufsänderungsereignis mithilfe der Methode event-Objekt als einziges Argument.

Ereignisobjekt

Felder
e.state

Das Statusobjekt, das dem Pop-up-Ereignis zugeordnet ist. Dieses Objekt ist identisch mit dem Bundesstaat push()- oder Methode replace(), mit der der gefüllte Zustand hinzugefügt wurde mit dem Protokollstapel.

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

Standortobjekt das mit dem ausgelösten Ereignis verknüpft ist,

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