Класс 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"]}} |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-01-07 UTC.
[null,null,["Последнее обновление: 2025-01-07 UTC."],[[["`google.script.history` enables interaction with the browser history stack within web apps using `IFRAME`."],["It provides methods to push, replace, and monitor browser history state, including URL parameters and fragments."],["Developers can define custom state objects to store and retrieve application-specific data associated with history events."],["A change handler can be set to trigger a callback function in response to history changes, allowing dynamic UI updates."]]],[]]