Klasse google.script.history (Clientseitige API)

google.script.history ist eine asynchrone clientseitige JavaScript API, die mit dem Browserverlaufsstapel interagieren kann. Sie kann nur im Kontext einer Webanwendung verwendet werden, die IFRAME verwendet. Sie ist nicht für die Verwendung mit Seitenleisten und Dialogfeldern in einem Add-on- oder Container-Script-Kontext vorgesehen. Weitere Informationen findest du im Leitfaden zur Verwendung des Browserverlaufs in Web-Apps.

Methoden

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

Detaillierte Dokumentation

push(stateObject, params, hash)

Überträgt das angegebene Statusobjekt, die URL-Parameter und das URL-Fragment in den Browserverlaufsstapel. Das Zustandsobjekt ist ein einfaches JavaScript-Objekt, das vom Entwickler definiert wird und alle Daten enthalten kann, die für den aktuellen Status der App relevant sind. Diese Methode entspricht der JavaScript-Methode pushState().

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 einem Browserverlaufsereignis zugeordnet wird und bei einem Pop-up des Status wieder auftaucht. Wird in der Regel verwendet, um Informationen zum Anwendungsstatus (z. B. Seitendaten) zu speichern, damit diese später abgerufen werden können.
paramsObjectEin Objekt mit URL-Parametern, die mit diesem Status verknüpft werden sollen. 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, werden die aktuellen URL-Parameter nicht geändert. Wenn das Feld leer ist, werden die URL-Parameter gelöscht.
hashStringDas String-URL-Fragment nach dem Zeichen „#“. Wenn null oder nicht definiert, wird das aktuelle URL-Fragment nicht geändert. Wenn das Feld leer ist, wird das URL-Fragment gelöscht.


replace(stateObject, params, hash)

Ersetzt das oberste Ereignis im Browserverlaufsstapel durch das (vom Entwickler definierte) Statusobjekt, die URL-Parameter und das URL-Fragment. Ansonsten ist dies mit push() identisch.

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 einem Browserverlaufsereignis zugeordnet wird und bei einem Pop-up des Status wieder auftaucht. Wird in der Regel verwendet, um Informationen zum Anwendungsstatus (z. B. Seitendaten) zu speichern, damit diese später abgerufen werden können.
paramsObjectEin Objekt mit URL-Parametern, die mit diesem Status verknüpft werden sollen. 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, werden die aktuellen URL-Parameter nicht geändert. Wenn das Feld leer ist, werden die URL-Parameter gelöscht.
hashStringDas String-URL-Fragment nach dem Zeichen „#“. Wenn null oder nicht definiert, wird das aktuelle URL-Fragment nicht geändert. Wenn das Feld leer ist, wird das URL-Fragment 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 annehmen.

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
functionFunctionEine clientseitige Callback-Funktion, die bei Verlaufsänderungen ausgeführt wird, wobei das Ereignisobjekt als einziges Argument verwendet wird.

Ereignisobjekt

Felder
e.state

Das Statusobjekt, das dem Pop-up-Ereignis zugeordnet ist. Dieses Objekt ist mit dem Statusobjekt identisch, das in der entsprechenden Methode push() oder replace() verwendet wurde, mit der der Pop-up-Zustand zum Verlaufsstapel hinzugefügt wurde.

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

Ein Standortobjekt, das dem Pop-up-Ereignis zugeordnet ist

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