Klasa google.script.history (interfejs API po stronie klienta)
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
google.script.history to asynchroniczny interfejs API JavaScript działający po stronie klienta, który może współdziałać
dzięki stosowi historii przeglądania. Można go używać tylko w kontekście aplikacji internetowej, która używa
IFRAME
Nie należy go używać z paskami bocznymi i oknami w dodatku ani
container-script. Więcej informacji:
przewodnik po korzystaniu z przeglądarki
historię w aplikacjach internetowych.
Ustawia funkcję wywołania zwrotnego w celu reagowania na zmiany w historii przeglądarki
Szczegółowa dokumentacja
push(stateObject, params, hash)
Przekazuje do historii przeglądarki podany obiekt stanu, parametry adresu URL i fragment adresu URL
stosów. Obiekt stanu to prosty obiekt JavaScript zdefiniowany przez programistę
zawierają wszystkie dane związane z bieżącym stanem aplikacji. Ta metoda jest analogiczna do
pushState()
Metoda JavaScript.
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.push(state, params, "anchor1");
Parametry
Nazwa
Typ
Opis
stateObject
Object
Obiekt zdefiniowany przez programistę, który ma zostać
powiązane ze zdarzeniem historii przeglądania i pojawiają się ponownie po wyszukaniu stanu. Zwykle
służą do przechowywania informacji o stanie aplikacji (np. danych strony) w celu ich późniejszego pobrania.
params
Object
Obiekt zawierający parametry adresu URL do
z tym stanem. Na przykład {foo: “bar”, fiz: “baz”} oznacza
"?foo=bar&fiz=baz" Można też użyć tablic:
{foo: [“bar”, “cat”], fiz: “baz”} odpowiada "?foo=bar&foo=cat&fiz=baz".
Jeśli ma wartość null lub nie jest określona, bieżące parametry adresu URL nie ulegają zmianie. Jeśli pole jest puste, parametry adresu URL mają postać
wyczyszczono.
hash
String
Fragment adresu URL ciągu widoczny po
znak „#” znaku. Jeśli ma wartość null lub nie jest zdefiniowany, bieżący fragment adresu URL nie zostaje zmieniony. Jeśli pole jest puste,
Fragment adresu URL został wyczyszczony.
replace(stateObject, params, hash)
Zastępuje główne zdarzenie w stosie historii przeglądania stanem podanym (zdefiniowanym przez dewelopera)
, parametry adresu URL
i fragment adresu URL. Pod innymi względami jest ona taka sama jak
push().
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.replace(state, params, "anchor1");
Parametry
Nazwa
Typ
Opis
stateObject
Object
Obiekt zdefiniowany przez programistę, który ma zostać
powiązane ze zdarzeniem historii przeglądania i pojawiają się ponownie po wyszukaniu stanu. Zwykle
służą do przechowywania informacji o stanie aplikacji (np. danych strony) w celu ich późniejszego pobrania.
params
Object
Obiekt zawierający parametry adresu URL do
z tym stanem. Na przykład {foo: “bar”, fiz: “baz”} oznacza
"?foo=bar&fiz=baz" Można też użyć tablic:
{foo: [“bar”, “cat”], fiz: “baz”} odpowiada "?foo=bar&foo=cat&fiz=baz".
Jeśli ma wartość null lub nie jest określona, bieżące parametry adresu URL nie ulegają zmianie. Jeśli pole jest puste, parametry adresu URL mają postać
wyczyszczono.
hash
String
Fragment adresu URL ciągu widoczny po
znak „#” znaku. Jeśli ma wartość null lub nie jest zdefiniowany, bieżący fragment adresu URL nie zostaje zmieniony. Jeśli pole jest puste,
Fragment adresu URL został wyczyszczony.
setChangeHandler(function)
Ustawia funkcję wywołania zwrotnego w celu reagowania na zmiany w historii przeglądarki. Funkcja wywołania zwrotnego
powinien przyjmować tylko jeden obiekt zdarzenia jako argument.
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...
});
Parametry
Nazwa
Typ
Opis
function
Function
po stronie klienta
wywołania zwrotnego, która ma być uruchamiana po zdarzeniu zmiany w historii, korzystając z funkcji
eventobject (obiekt event) jako jedynego argumentu.
Obiekt zdarzenia
Pola
e.state
Obiekt stanu powiązany ze zdarzeniem wyskakującym. Ten obiekt jest identyczny ze stanem
używany w odpowiedniej funkcji push() lub
metoda replace(), która dodała stan wyskakujący.
do stosu historii.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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*** ** * ** ***"]]