google.script.history
是一种异步客户端 JavaScript API,
以及浏览器历史记录堆栈的数据它只能用于符合以下条件的 Web 应用:
IFRAME
。
它不适用于插件或
容器脚本上下文。有关详情,请参阅
浏览器使用指南
历史记录。
方法
方法 | 返回类型 | 简介 |
---|---|---|
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 | 客户端 回调函数,该函数使用 event 对象作为唯一的参数。 |
事件对象
字段 | |
---|---|
e.state |
与弹出事件关联的状态对象。此对象与 相应的 push() 或 添加了弹出状态的 replace() 方法 历史记录堆栈 {"page":2, "name":"Wilbur"} |
e.location |
一个 location 对象 与弹出事件相关联 {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |