google.script.history 类(客户端 API)

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");

参数

名称类型说明
stateObjectObject开发者定义的要 与浏览器历史记录事件相关联,并且会在状态弹出时再次出现。一般价格 用于存储应用状态信息(例如页面数据),以供日后检索。
paramsObject包含网址参数的对象 与此状态相关联例如,{foo: “bar”, fiz: “baz”} 相当于 "?foo=bar&fiz=baz"。或者,也可以使用数组: {foo: [“bar”, “cat”], fiz: “baz”} 相当于 "?foo=bar&foo=cat&fiz=baz"。 如果为 null 或 undefined,系统不会更改当前的网址参数。如果留空,则网址参数为 已清除。
hashString字符串网址片段出现在 “#”字符。如果为 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");

参数

名称类型说明
stateObjectObject开发者定义的要 与浏览器历史记录事件相关联,并且会在状态弹出时再次出现。一般价格 用于存储应用状态信息(例如页面数据),以供日后检索。
paramsObject包含网址参数的对象 与此状态相关联例如,{foo: “bar”, fiz: “baz”} 相当于 "?foo=bar&fiz=baz"。或者,也可以使用数组: {foo: [“bar”, “cat”], fiz: “baz”} 相当于 "?foo=bar&foo=cat&fiz=baz"。 如果为 null 或 undefined,系统不会更改当前的网址参数。如果留空,则网址参数为 已清除。
hashString字符串网址片段出现在 “#”字符。如果为 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...
});

参数

名称类型说明
functionFunction客户端 回调函数,该函数使用 event 对象作为唯一的参数。

事件对象

字段
e.state

与弹出事件关联的状态对象。此对象与 相应的 push() 或 添加了弹出状态的 replace() 方法 历史记录堆栈

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

一个 location 对象 与弹出事件相关联

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