Stay organized with collections
Save and categorize content based on your preferences.
google.script.history is an asynchronous client-side JavaScript API that can interact
with the browser history stack. It can only be used in the context of a web app that uses
IFRAME.
It is not intended for use with sidebars and dialogs in an add-on or
container-script context. For more information, see the
guide to using browser
history in web apps.
Sets a callback function to respond to changes in the browser history
Detailed documentation
push(stateObject, params, hash)
Pushes the provided state object, URL parameters and URL fragment onto the browser history
stack. The state object is a simple JavaScript Object that is defined by the developer and can
contain any data relevant to the app's current state. This method is analogous to the
pushState()
JavaScript method.
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.push(state, params, "anchor1");
Parameters
Name
Type
Description
stateObject
Object
An developer-defined object to be
associated with a browser history event, and which resurfaces when the state is popped. Typically
used to store application state information (such as page data) for future retrieval.
params
Object
An object containing URL parameters to
associate with this state. For example, {foo: “bar”, fiz: “baz”} equates to
"?foo=bar&fiz=baz". Alternatively, arrays can be used:
{foo: [“bar”, “cat”], fiz: “baz”} equates to "?foo=bar&foo=cat&fiz=baz".
If null or undefined, the current URL parameters are not changed. If empty, the URL parameters are
cleared.
hash
String
The string URL fragment appearing after
the '#' character. If null or undefined, the current URL fragment is not changed. If empty, the
URL fragment is cleared.
replace(stateObject, params, hash)
Replaces the top event on the browser history stack with the provided (developer-defined) state
object, URL parameters and URL fragment. This is otherwise identical to
push().
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.replace(state, params, "anchor1");
Parameters
Name
Type
Description
stateObject
Object
An developer-defined object to be
associated with a browser history event, and which resurfaces when the state is popped. Typically
used to store application state information (such as page data) for future retrieval.
params
Object
An object containing URL parameters to
associate with this state. For example, {foo: “bar”, fiz: “baz”} equates to
"?foo=bar&fiz=baz". Alternatively, arrays can be used:
{foo: [“bar”, “cat”], fiz: “baz”} equates to "?foo=bar&foo=cat&fiz=baz".
If null or undefined, the current URL parameters are not changed. If empty, the URL parameters are
cleared.
hash
String
The string URL fragment appearing after
the '#' character. If null or undefined, the current URL fragment is not changed. If empty, the
URL fragment is cleared.
setChangeHandler(function)
Sets a callback function to respond to changes in the browser history. The callback function
should take only a single event object as an argument.
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...
});
Parameters
Name
Type
Description
function
Function
a client-side
callback function to run upon a history change event, using the
event object as the only argument.
Event object
Fields
e.state
The state object associated with the popped event. This object is identical to the state
object that used in the corresponding push() or
replace() method that added the popped state
to the history stack.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 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."]]],[]]