คลาส google.script.history (API ฝั่งไคลเอ็นต์)

google.script.history เป็น JavaScript API ฝั่งไคลเอ็นต์แบบไม่พร้อมกันซึ่งโต้ตอบได้ ด้วยสแต็กประวัติการเข้าชมของเบราว์เซอร์ ใช้ได้เฉพาะในบริบทของเว็บแอปที่ใช้ IFRAME ไม่ได้มีไว้สำหรับใช้กับแถบด้านข้างและกล่องโต้ตอบในส่วนเสริม หรือ และบริบทสคริปต์คอนเทนเนอร์ สำหรับข้อมูลเพิ่มเติม โปรดดู คู่มือการใช้เบราว์เซอร์ ในเว็บแอป

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
push(stateObject, params, hash) void พุชออบเจ็กต์สถานะ พารามิเตอร์ของ URL และส่วนย่อยของ URL ที่ระบุไปยังประวัติเบราว์เซอร์ สแต็ก
replace(stateObject, params, hash) void แทนที่เหตุการณ์ยอดนิยมในสแต็กประวัติเบราว์เซอร์ด้วยออบเจ็กต์สถานะที่ระบุ URL พารามิเตอร์และส่วนย่อยของ URL
setChangeHandler(function) void ตั้งค่าฟังก์ชัน Callback เพื่อตอบสนองต่อการเปลี่ยนแปลงในประวัติเบราว์เซอร์

เอกสารโดยละเอียด

push(stateObject, params, hash)

พุชออบเจ็กต์สถานะ พารามิเตอร์ของ URL และส่วนย่อยของ URL ที่ระบุไปยังประวัติเบราว์เซอร์ สแต็ก ออบเจ็กต์สถานะเป็นออบเจ็กต์ JavaScript แบบง่ายที่กำหนดโดยนักพัฒนาซอฟต์แวร์และสามารถ มีข้อมูลที่เกี่ยวข้องกับสถานะปัจจุบันของแอป วิธีการนี้คล้ายคลึงกับ pushState() JavaScript

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.push(state, params, "anchor1");

พารามิเตอร์

ชื่อประเภทคำอธิบาย
stateObjectObjectออบเจ็กต์ที่นักพัฒนาแอปกำหนด ที่เกี่ยวข้องกับเหตุการณ์ประวัติของเบราว์เซอร์ และเหตุการณ์นี้จะแสดงอีกครั้งเมื่อสถานะถูกเรียกขึ้นมา ราคาปกติ ใช้เพื่อจัดเก็บข้อมูลสถานะของแอปพลิเคชัน (เช่น ข้อมูลหน้าเว็บ) สำหรับการดึงข้อมูลในอนาคต
paramsObjectออบเจ็กต์ที่มีพารามิเตอร์ URL ไปยัง เชื่อมโยงกับรัฐนี้ เช่น {foo: “bar”, fiz: “baz”} เทียบเท่ากับ "?foo=bar&fiz=baz" อีกทางเลือกหนึ่งคือสามารถใช้อาร์เรย์ ดังนี้ {foo: [“bar”, “cat”], fiz: “baz”} เท่ากับ "?foo=bar&foo=cat&fiz=baz" หากเป็น Null หรือไม่ได้ระบุ พารามิเตอร์ URL ปัจจุบันจะไม่เปลี่ยนแปลง หากเว้นว่างไว้ พารามิเตอร์ของ URL จะเป็น ล้างแล้ว
hashStringส่วนย่อยของ URL สตริงที่ปรากฏหลัง เครื่องหมาย "#" อักขระ หากเป็น Null หรือไม่ได้ระบุ ส่วนย่อยของ URL ปัจจุบันจะไม่เปลี่ยนแปลง หากเว้นว่างไว้ ฟิลด์ ล้างส่วนย่อย URL แล้ว


replace(stateObject, params, hash)

แทนที่เหตุการณ์ยอดนิยมในสแต็กประวัติของเบราว์เซอร์ด้วยสถานะที่ให้ไว้ (กำหนดโดยนักพัฒนาซอฟต์แวร์) พารามิเตอร์ URL และส่วนย่อยของ URL มิฉะนั้นจะเหมือนกับ push()

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.replace(state, params, "anchor1");

พารามิเตอร์

ชื่อประเภทคำอธิบาย
stateObjectObjectออบเจ็กต์ที่นักพัฒนาแอปกำหนด ที่เกี่ยวข้องกับเหตุการณ์ประวัติของเบราว์เซอร์ และเหตุการณ์นี้จะแสดงอีกครั้งเมื่อสถานะถูกเรียกขึ้นมา ราคาปกติ ใช้เพื่อจัดเก็บข้อมูลสถานะของแอปพลิเคชัน (เช่น ข้อมูลหน้าเว็บ) สำหรับการดึงข้อมูลในอนาคต
paramsObjectออบเจ็กต์ที่มีพารามิเตอร์ URL ไปยัง เชื่อมโยงกับรัฐนี้ เช่น {foo: “bar”, fiz: “baz”} เทียบเท่ากับ "?foo=bar&fiz=baz" อีกทางเลือกหนึ่งคือสามารถใช้อาร์เรย์ ดังนี้ {foo: [“bar”, “cat”], fiz: “baz”} เท่ากับ "?foo=bar&foo=cat&fiz=baz" หากเป็น Null หรือไม่ได้ระบุ พารามิเตอร์ URL ปัจจุบันจะไม่เปลี่ยนแปลง หากเว้นว่างไว้ พารามิเตอร์ของ URL จะเป็น ล้างแล้ว
hashStringส่วนย่อยของ URL สตริงที่ปรากฏหลัง เครื่องหมาย "#" อักขระ หากเป็น Null หรือไม่ได้ระบุ ส่วนย่อยของ URL ปัจจุบันจะไม่เปลี่ยนแปลง หากเว้นว่างไว้ ฟิลด์ ล้างส่วนย่อย URL แล้ว

setChangeHandler(function)

ตั้งค่าฟังก์ชัน Callback เพื่อตอบสนองต่อการเปลี่ยนแปลงในประวัติเบราว์เซอร์ ฟังก์ชัน Callback ควรใช้ออบเจ็กต์เหตุการณ์เพียงรายการเดียวเป็นอาร์กิวเมนต์

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...
});

พารามิเตอร์

ชื่อประเภทคำอธิบาย
functionFunctionฝั่งไคลเอ็นต์ ฟังก์ชัน Callback ที่จะเรียกใช้ตามเหตุการณ์การเปลี่ยนแปลงประวัติ โดยใช้ event object เป็นอาร์กิวเมนต์เดียว

ออบเจ็กต์เหตุการณ์

ช่อง
e.state

ออบเจ็กต์สถานะที่เชื่อมโยงกับเหตุการณ์ที่ป๊อปอัป ออบเจ็กต์นี้เหมือนกับสถานะ ที่ใช้ใน push() ที่เกี่ยวข้องหรือ เมธอด replace() ที่เพิ่มสถานะ POP แล้ว ในกองประวัติ

{"page":2, "name":"Wilbur"}
e.location

ออบเจ็กต์ตำแหน่ง ที่เชื่อมโยงกับเหตุการณ์ที่ป๊อปอัป

{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}