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");
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
stateObject | Object | ออบเจ็กต์ที่นักพัฒนาแอปกำหนด ที่เกี่ยวข้องกับเหตุการณ์ประวัติของเบราว์เซอร์ และเหตุการณ์นี้จะแสดงอีกครั้งเมื่อสถานะถูกเรียกขึ้นมา ราคาปกติ ใช้เพื่อจัดเก็บข้อมูลสถานะของแอปพลิเคชัน (เช่น ข้อมูลหน้าเว็บ) สำหรับการดึงข้อมูลในอนาคต |
params | Object | ออบเจ็กต์ที่มีพารามิเตอร์ URL ไปยัง
เชื่อมโยงกับรัฐนี้ เช่น {foo: “bar”, fiz: “baz”} เทียบเท่ากับ
"?foo=bar&fiz=baz" อีกทางเลือกหนึ่งคือสามารถใช้อาร์เรย์ ดังนี้
{foo: [“bar”, “cat”], fiz: “baz”} เท่ากับ "?foo=bar&foo=cat&fiz=baz"
หากเป็น Null หรือไม่ได้ระบุ พารามิเตอร์ URL ปัจจุบันจะไม่เปลี่ยนแปลง หากเว้นว่างไว้ พารามิเตอร์ของ URL จะเป็น
ล้างแล้ว
|
hash | String | ส่วนย่อยของ 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");
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
stateObject | Object | ออบเจ็กต์ที่นักพัฒนาแอปกำหนด ที่เกี่ยวข้องกับเหตุการณ์ประวัติของเบราว์เซอร์ และเหตุการณ์นี้จะแสดงอีกครั้งเมื่อสถานะถูกเรียกขึ้นมา ราคาปกติ ใช้เพื่อจัดเก็บข้อมูลสถานะของแอปพลิเคชัน (เช่น ข้อมูลหน้าเว็บ) สำหรับการดึงข้อมูลในอนาคต |
params | Object | ออบเจ็กต์ที่มีพารามิเตอร์ URL ไปยัง
เชื่อมโยงกับรัฐนี้ เช่น {foo: “bar”, fiz: “baz”} เทียบเท่ากับ
"?foo=bar&fiz=baz" อีกทางเลือกหนึ่งคือสามารถใช้อาร์เรย์ ดังนี้
{foo: [“bar”, “cat”], fiz: “baz”} เท่ากับ "?foo=bar&foo=cat&fiz=baz"
หากเป็น Null หรือไม่ได้ระบุ พารามิเตอร์ URL ปัจจุบันจะไม่เปลี่ยนแปลง หากเว้นว่างไว้ พารามิเตอร์ของ URL จะเป็น
ล้างแล้ว
|
hash | String | ส่วนย่อยของ 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... });
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
function | Function | ฝั่งไคลเอ็นต์ ฟังก์ชัน 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"]}} |