Класс google.script.history (клиентский API)

google.script.history – это асинхронный клиентский API JavaScript, который может взаимодействовать со стеком истории браузера. Его можно использовать только в контексте веб-приложения, использующего IFRAME . Он не предназначен для использования с боковыми панелями и диалоговыми окнами в контексте надстройки или сценария контейнера. Дополнительные сведения см. в руководстве по использованию истории браузера в веб-приложениях .

Методы

Метод Тип возврата Краткое описание
push(stateObject, params, hash) void Помещает предоставленный объект состояния, параметры URL-адреса и фрагмент URL-адреса в стек истории браузера.
replace(stateObject, params, hash) void Заменяет главное событие в стеке истории браузера предоставленным объектом состояния, параметрами URL-адреса и фрагментом URL-адреса.
setChangeHandler(function) void Устанавливает функцию обратного вызова для реагирования на изменения в истории браузера.

Подробная документация

push(stateObject, params, hash)

Помещает предоставленный объект состояния, параметры URL-адреса и фрагмент URL-адреса в стек истории браузера. Объект состояния — это простой объект JavaScript, определенный разработчиком и может содержать любые данные, относящиеся к текущему состоянию приложения. Этот метод аналогичен методу JavaScript pushState() .

Индекс.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" . Если значение равно нулю или не определено, текущие параметры URL-адреса не изменяются. Если пусто, параметры URL очищаются.
hash String Фрагмент URL-адреса строки, отображаемый после символа «#». Если значение равно нулю или не определено, текущий фрагмент URL-адреса не изменяется. Если пусто, фрагмент URL очищается.


replace(stateObject, params, hash)

Заменяет главное событие в стеке истории браузера предоставленным (определенным разработчиком) объектом состояния, параметрами URL-адреса и фрагментом URL-адреса. В остальном это идентично push() .

Индекс.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" . Если значение равно нулю или не определено, текущие параметры URL-адреса не изменяются. Если пусто, параметры URL очищаются.
hash String Фрагмент URL-адреса строки, отображаемый после символа «#». Если значение равно нулю или не определено, текущий фрагмент URL-адреса не изменяется. Если пусто, фрагмент URL очищается.

setChangeHandler(function)

Устанавливает функцию обратного вызова для реагирования на изменения в истории браузера. Функция обратного вызова должна принимать в качестве аргумента только один объект события .

Индекс.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"]}}