Kelas google.script.history (API sisi klien)

google.script.history adalah JavaScript API sisi klien asinkron yang dapat berinteraksi dengan stack histori browser. Kunci ini hanya dapat digunakan dalam konteks aplikasi web yang menggunakan IFRAME. Alat ini tidak dimaksudkan untuk digunakan dengan sidebar dan dialog dalam konteks add-on atau skrip container. Untuk mengetahui informasi selengkapnya, lihat panduan menggunakan histori browser pada aplikasi web.

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
push(stateObject, params, hash) void Mengirim objek status, parameter URL, dan fragmen URL yang disediakan ke tumpukan histori browser.
replace(stateObject, params, hash) void Mengganti peristiwa teratas pada tumpukan histori browser dengan objek status, parameter URL, dan fragmen URL yang disediakan.
setChangeHandler(function) void Menetapkan 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 tumpukan histori browser. Objek status adalah Objek JavaScript sederhana yang ditentukan oleh developer dan dapat berisi data yang relevan dengan status aplikasi saat ini. Metode ini analog dengan metode JavaScript pushState().

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 dikaitkan dengan peristiwa histori browser, dan yang 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 yang akan dikaitkan dengan status ini. Misalnya, {foo: “bar”, fiz: “baz”} sama dengan "?foo=bar&fiz=baz". Atau, array dapat digunakan: {foo: [“bar”, “cat”], fiz: “baz”} sama dengan "?foo=bar&foo=cat&fiz=baz". Jika null atau tidak ditentukan, parameter URL saat ini tidak akan berubah. Jika kosong, parameter URL akan dihapus.
hashStringFragmen URL string yang muncul setelah karakter '#'. Jika null atau tidak ditentukan, fragmen URL saat ini tidak akan berubah. Jika kosong, fragmen URL akan dihapus.


replace(stateObject, params, hash)

Mengganti peristiwa teratas di tumpukan histori browser dengan objek status, parameter URL, dan fragmen URL yang disediakan (ditentukan oleh developer). Sebaliknya, 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 dikaitkan dengan peristiwa histori browser, dan yang 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 yang akan dikaitkan dengan status ini. Misalnya, {foo: “bar”, fiz: “baz”} sama dengan "?foo=bar&fiz=baz". Atau, array dapat digunakan: {foo: [“bar”, “cat”], fiz: “baz”} sama dengan "?foo=bar&foo=cat&fiz=baz". Jika null atau tidak ditentukan, parameter URL saat ini tidak akan berubah. Jika kosong, parameter URL akan dihapus.
hashStringFragmen URL string yang muncul setelah karakter '#'. Jika null atau tidak ditentukan, fragmen URL saat ini tidak akan berubah. Jika kosong, fragmen URL akan dihapus.

setChangeHandler(function)

Menetapkan fungsi callback untuk merespons perubahan dalam 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
functionFunctionfungsi callback sisi klien untuk dijalankan setelah peristiwa perubahan histori, menggunakan objek peristiwa sebagai satu-satunya argumen.

Objek peristiwa

Kolom
e.state

Objek status yang terkait dengan peristiwa yang muncul. Objek ini identik dengan objek status yang digunakan dalam metode push() atau replace() terkait yang menambahkan status yang muncul ke stack 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"]}}