Kelas google.script.history (API sisi klien)

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

MetodeJenis hasil yang ditampilkanDeskripsi 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

NamaJenisDeskripsi
stateObjectObjectObjek 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.
paramsObjectObjek 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.
hashStringFragmen 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

NamaJenisDeskripsi
stateObjectObjectObjek 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.
paramsObjectObjek 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.
hashStringFragmen 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

NamaJenisDeskripsi
functionFunctionsisi 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"]}}