Kelas google.script.history (API sisi klien)
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
google.script.history
adalah JavaScript API sisi klien asinkron yang dapat berinteraksi
dengan tumpukan riwayat browser. Model ini hanya dapat digunakan dalam konteks
aplikasi web yang menggunakan
IFRAME
Aplikasi ini tidak ditujukan untuk digunakan dengan bilah sisi dan dialog dalam add-on atau
konteks container-script. Untuk informasi selengkapnya, lihat
panduan untuk menggunakan browser
histori di aplikasi web.
Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
push(stateObject, params, hash) |
void |
Mengirim objek status, parameter URL, dan fragmen URL yang disediakan ke histori browser
{i>stack<i}. |
replace(stateObject, params, hash) |
void |
Mengganti peristiwa teratas di tumpukan histori browser dengan objek status yang disediakan, yaitu URL
parameter dan fragmen URL. |
setChangeHandler(function) |
void |
Menyetel fungsi callback untuk merespons perubahan dalam histori browser |
Dokumentasi mendetail
push(stateObject, params, hash)
Mengirim objek status, parameter URL, dan fragmen URL yang disediakan ke histori browser
{i>stack<i}. Objek status adalah Objek JavaScript sederhana yang ditentukan oleh developer dan dapat
berisi data apa pun yang relevan dengan status aplikasi saat ini. Metode ini setara dengan
pushState()
Metode JavaScript.
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.push(state, params, "anchor1");
Parameter
Nama | Jenis | Deskripsi |
stateObject | Object | Objek yang ditentukan developer untuk
yang terkait dengan peristiwa histori browser, dan yang akan muncul kembali saat status muncul. Biasanya
digunakan untuk menyimpan informasi status aplikasi (seperti data halaman) untuk pengambilan di masa mendatang. |
params | Object | Objek yang berisi parameter URL untuk
dikaitkan dengan status ini. Misalnya, {foo: “bar”, fiz: “baz”} sama dengan
"?foo=bar&fiz=baz" . Atau, Anda dapat menggunakan array:
{foo: [“bar”, “cat”], fiz: “baz”} sama dengan "?foo=bar&foo=cat&fiz=baz" .
Jika null atau undefined (tidak ditentukan), parameter URL saat ini tidak akan diubah. Jika kosong, parameter URL akan
dihapus.
|
hash | String | Fragmen URL string yang muncul setelah
'#' karakter. Jika null atau tidak ditentukan, fragmen URL saat ini tidak akan diubah. Jika kosong, atribut
Fragmen URL dihapus.
|
replace(stateObject, params, hash)
Mengganti peristiwa teratas di tumpukan histori browser dengan status yang disediakan (ditentukan oleh developer)
objek, parameter URL, dan fragmen URL. Hal ini identik dengan
push().
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.replace(state, params, "anchor1");
Parameter
Nama | Jenis | Deskripsi |
stateObject | Object | Objek yang ditentukan developer untuk
yang terkait dengan peristiwa histori browser, dan yang akan muncul kembali saat status muncul. Biasanya
digunakan untuk menyimpan informasi status aplikasi (seperti data halaman) untuk pengambilan di masa mendatang. |
params | Object | Objek yang berisi parameter URL untuk
dikaitkan dengan status ini. Misalnya, {foo: “bar”, fiz: “baz”} sama dengan
"?foo=bar&fiz=baz" . Atau, Anda dapat menggunakan array:
{foo: [“bar”, “cat”], fiz: “baz”} sama dengan "?foo=bar&foo=cat&fiz=baz" .
Jika null atau undefined (tidak ditentukan), parameter URL saat ini tidak akan diubah. Jika kosong, parameter URL akan
dihapus.
|
hash | String | Fragmen URL string yang muncul setelah
'#' karakter. Jika null atau tidak ditentukan, fragmen URL saat ini tidak akan diubah. Jika kosong, atribut
Fragmen URL dihapus.
|
setChangeHandler(function)
Menyetel fungsi callback untuk merespons perubahan di histori browser. Fungsi callback
hanya boleh mengambil satu objek peristiwa sebagai argumen.
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
Nama | Jenis | Deskripsi |
function | Function | sisi klien
fungsi callback untuk menjalankan peristiwa perubahan histori, dengan menggunakan
event object sebagai satu-satunya argumen.
|
Objek peristiwa
Kolom |
e.state |
Objek status yang terkait dengan peristiwa yang muncul. Objek ini identik dengan status
yang digunakan dalam push() atau
Metode replace() yang menambahkan status yang muncul
ke tumpukan histori.
{"page":2, "name":"Wilbur"}
|
e.location |
Objek lokasi
yang terkait dengan peristiwa yang muncul
{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}
|
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 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*** ** * ** ***"]]