Klasse google.script.history (Clientseitige API)
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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.
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
Name | Typ | Beschreibung |
stateObject | Object | Ein 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. |
params | Object | Ein 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.
|
hash | String | Das 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
Name | Typ | Beschreibung |
stateObject | Object | Ein 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. |
params | Object | Ein 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.
|
hash | String | Das 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
Name | Typ | Beschreibung |
function | Function | clientseitig
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"]}}
|
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-26 (UTC)."],[[["\u003cp\u003e\u003ccode\u003egoogle.script.history\u003c/code\u003e enables interaction with the browser history stack within web apps using \u003ccode\u003eIFRAME\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to push, replace, and monitor browser history state, including URL parameters and fragments.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can define custom state objects to store and retrieve application-specific data associated with history events.\u003c/p\u003e\n"],["\u003cp\u003eA change handler can be set to trigger a callback function in response to history changes, allowing dynamic UI updates.\u003c/p\u003e\n"]]],[],null,["# Class google.script.history (Client-side API)\n\n`google.script.history` is an asynchronous client-side JavaScript API that can interact\nwith the browser history stack. It can only be used in the context of a web app that uses\n[`IFRAME`](/apps-script/reference/html/sandbox-mode#properties).\nIt is not intended for use with sidebars and dialogs in an add-on or\ncontainer-script context. For more information, see the\n[guide to using browser\nhistory in web apps](/apps-script/guides/web#web_apps_and_browser_history). \n\n### Methods\n\n| Method | Return type | Brief description |\n|----------------------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------|\n| [push(stateObject, params, hash)](#push(Object,Object,String)) | `void` | Pushes the provided state object, URL parameters and URL fragment onto the browser history stack. |\n| [replace(stateObject, params, hash)](#replace(Object,Object,String)) | `void` | Replaces the top event on the browser history stack with the provided state object, URL parameters and URL fragment. |\n| [setChangeHandler(function)](#setChangeHandler(Function)) | `void` | Sets a callback function to respond to changes in the browser history |\n\nDetailed documentation\n----------------------\n\n### `push(stateObject, params, hash)`\n\nPushes the provided state object, URL parameters and URL fragment onto the browser history\nstack. The state object is a simple JavaScript Object that is defined by the developer and can\ncontain any data relevant to the app's current state. This method is analogous to the\n[pushState()](https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method)\nJavaScript method. \n\n### Index.html\n\n```html\nvar now = new Date();\nvar state = {\n 'timestamp': now.getTime()\n};\nvar params = {\n 'options': \"none\"\n};\ngoogle.script.history.push(state, params, \"anchor1\");\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `stateObject` | `Object` | An developer-defined object to be associated with a browser history event, and which resurfaces when the state is popped. Typically used to store application state information (such as page data) for future retrieval. |\n| `params` | `Object` | An object containing URL parameters to associate with this state. For example, `{foo: \"bar\", fiz: \"baz\"}` equates to `\"?foo=bar&fiz=baz\"`. Alternatively, arrays can be used: `{foo: [\"bar\", \"cat\"], fiz: \"baz\"}` equates to `\"?foo=bar&foo=cat&fiz=baz\"`. If null or undefined, the current URL parameters are not changed. If empty, the URL parameters are cleared. |\n| `hash` | `String` | The string URL fragment appearing after the '#' character. If null or undefined, the current URL fragment is not changed. If empty, the URL fragment is cleared. |\n\n*** ** * ** ***\n\n*** ** * ** ***\n\n### `replace(stateObject, params, hash)`\n\nReplaces the top event on the browser history stack with the provided (developer-defined) state\nobject, URL parameters and URL fragment. This is otherwise identical to\n[push()](#push(Object,Object,String)). \n\n### Index.html\n\n```html\nvar now = new Date();\nvar state = {\n 'timestamp': now.getTime()\n};\nvar params = {\n 'options': \"none\"\n};\ngoogle.script.history.replace(state, params, \"anchor1\");\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `stateObject` | `Object` | An developer-defined object to be associated with a browser history event, and which resurfaces when the state is popped. Typically used to store application state information (such as page data) for future retrieval. |\n| `params` | `Object` | An object containing URL parameters to associate with this state. For example, `{foo: \"bar\", fiz: \"baz\"}` equates to `\"?foo=bar&fiz=baz\"`. Alternatively, arrays can be used: `{foo: [\"bar\", \"cat\"], fiz: \"baz\"}` equates to `\"?foo=bar&foo=cat&fiz=baz\"`. If null or undefined, the current URL parameters are not changed. If empty, the URL parameters are cleared. |\n| `hash` | `String` | The string URL fragment appearing after the '#' character. If null or undefined, the current URL fragment is not changed. If empty, the URL fragment is cleared. |\n\n*** ** * ** ***\n\n### `setChangeHandler(function)`\n\nSets a callback function to respond to changes in the browser history. The callback function\nshould take only a single [event object](#eventObject) as an argument.\n\n### Index.html\n\n```html\ngoogle.script.history.setChangeHandler(function (e) {\n console.log(e.state);\n console.log(e.location.parameters);\n console.log(e.location.hash);\n\n // Adjust web app UI to match popped state here...\n});\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|------------|----------------------------------------------------------------------------------------------------------------------------------|\n| `function` | `Function` | a client-side callback function to run upon a history change event, using the [event object](#eventObject) as the only argument. |\n\n#### Event object\n\n| Fields ||\n|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `e.state` | The state object associated with the popped event. This object is identical to the state object that used in the corresponding [push()](#push(Object,Object,String)) or [replace()](#replace(Object,Object,String)) method that added the popped state to the history stack. ``` {\"page\":2, \"name\":\"Wilbur\"} ``` |\n| `e.location` | A [location object](/apps-script/guides/html/reference/url#locationObject) associated with the popped event ``` {\"hash\":\"\", \"parameter\":{\"name\": \"alice\", \"n\": \"1\"}, \"parameters\":{\"name\": [\"alice\"], \"n\": [\"1\", \"2\"]}} ``` |\n\n*** ** * ** ***"]]