google.script.history
是一种异步客户端 JavaScript API,可与浏览器历史记录堆栈进行交互。它只能在使用 IFRAME
的 Web 应用中使用。它不适用于插件或容器脚本上下文中的边栏和对话框。如需了解详情,请参阅有关在 Web 应用中使用浏览器历史记录的指南。
方法
方法 | 返回类型 | 简介 |
---|---|---|
push(stateObject, params, hash) |
void |
将提供的状态对象、网址参数和网址片段推送到浏览器历史记录堆栈。 |
replace(stateObject, params, hash) |
void |
将浏览器历史记录堆栈中的顶部事件替换为提供的状态对象、网址参数和网址片段。 |
setChangeHandler(function) |
void |
设置回调函数以响应浏览器历史记录中的更改 |
详细文档
push(stateObject, params, hash)
将提供的状态对象、网址参数和网址片段推送到浏览器历史记录堆栈。状态对象是由开发者定义的简单 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 | 一个对象,包含要与此状态相关联的网址参数。例如,{foo: “bar”, fiz: “baz”} 相当于 "?foo=bar&fiz=baz" 。或者,您也可以使用数组:{foo: [“bar”, “cat”], fiz: “baz”} 相当于 "?foo=bar&foo=cat&fiz=baz" 。如果为 null 或 undefined,则当前的网址参数不会更改。如果为空,系统会清除网址参数。
|
hash | String | 出现在“#”字符之后的字符串网址片段。如果为 null 或 undefined,则当前网址片段不会更改。如果为空,系统会清除网址片段。 |
replace(stateObject, params, hash)
将浏览器历史记录堆栈中的顶部事件替换为所提供的(开发者定义的)状态对象、网址参数和网址片段。它在其他方面与 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 | 一个对象,包含要与此状态相关联的网址参数。例如,{foo: “bar”, fiz: “baz”} 相当于 "?foo=bar&fiz=baz" 。或者,您也可以使用数组:{foo: [“bar”, “cat”], fiz: “baz”} 相当于 "?foo=bar&foo=cat&fiz=baz" 。如果为 null 或 undefined,则当前的网址参数不会更改。如果为空,系统会清除网址参数。
|
hash | String | 出现在“#”字符之后的字符串网址片段。如果为 null 或 undefined,则当前网址片段不会更改。如果为空,系统会清除网址片段。 |
setChangeHandler(function)
设置回调函数以响应浏览器历史记录中的更改。回调函数只能接受一个事件对象作为参数。
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 | 要在发生历史记录更改事件时运行的客户端回调函数,并且使用事件对象作为唯一参数。 |
事件对象
字段 | |
---|---|
e.state |
与弹出事件关联的状态对象。此对象与将弹出状态添加到历史记录堆栈的相应 push() 或 replace() 方法中使用的状态对象相同。 {"page":2, "name":"Wilbur"} |
e.location |
与弹出的事件关联的位置对象 {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |