Clase google.script.history (API del cliente)
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
google.script.history
es una API de JavaScript asíncrona del cliente que puede interactuar.
con la pila del historial del navegador. Solo se puede usar en el contexto de una aplicación web que use
IFRAME
No está diseñado para usarse con barras laterales y diálogos en un complemento o
contexto de secuencia de comandos del contenedor. Para obtener más información, consulta la
guía para usar el navegador
en apps web.
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
push(stateObject, params, hash) |
void |
Envía el objeto de estado proporcionado, los parámetros y el fragmento de URL al historial del navegador.
en una pila. |
replace(stateObject, params, hash) |
void |
Reemplaza el evento superior en la pila del historial del navegador con el objeto de estado proporcionado, URL
parámetros y fragmento de URL. |
setChangeHandler(function) |
void |
Establece una función de devolución de llamada para responder a los cambios en el historial del navegador. |
Documentación detallada
push(stateObject, params, hash)
Envía el objeto de estado proporcionado, los parámetros y el fragmento de URL al historial del navegador.
en una pila. El objeto de estado es un objeto simple de JavaScript definido por el desarrollador y puede
contener todos los datos relevantes para el estado actual de la aplicación. Este método es análogo al método
pushState()
Método de JavaScript.
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.push(state, params, "anchor1");
Parámetros
Nombre | Tipo | Descripción |
stateObject | Object | Un objeto definido por el desarrollador que se
asociados con un evento del historial del navegador y que vuelve a aparecer cuando se abre el estado. Precio habitual
Se usan para almacenar información del estado de la aplicación (como datos de páginas) y recuperarse en el futuro. |
params | Object | Un objeto que contiene los parámetros de URL para
asociar con este estado. Por ejemplo, {foo: “bar”, fiz: “baz”} equivale a
"?foo=bar&fiz=baz" Como alternativa, se pueden usar arrays:
{foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz" .
Si es nulo o no está definido, no se cambian los parámetros actuales de la URL. Si están vacíos, los parámetros de URL se
borrar.
|
hash | String | El fragmento de URL de cadena que aparece después
el carácter. Si es nulo o indefinido, el fragmento de URL actual no se cambia. Si está vacía, el
Se borró el fragmento de URL.
|
replace(stateObject, params, hash)
Reemplaza el evento superior en la pila del historial de navegación con el estado proporcionado (definido por el desarrollador)
objeto, los parámetros de URL y el fragmento de URL. Esto es igual a
push().
Index.html
var now = new Date();
var state = {
'timestamp': now.getTime()
};
var params = {
'options': "none"
};
google.script.history.replace(state, params, "anchor1");
Parámetros
Nombre | Tipo | Descripción |
stateObject | Object | Un objeto definido por el desarrollador que se
asociados con un evento del historial del navegador y que vuelve a aparecer cuando se abre el estado. Precio habitual
Se usan para almacenar información del estado de la aplicación (como datos de páginas) y recuperarse en el futuro. |
params | Object | Un objeto que contiene los parámetros de URL para
asociar con este estado. Por ejemplo, {foo: “bar”, fiz: “baz”} equivale a
"?foo=bar&fiz=baz" Como alternativa, se pueden usar arrays:
{foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz" .
Si es nulo o no está definido, no se cambian los parámetros actuales de la URL. Si están vacíos, los parámetros de URL se
borrar.
|
hash | String | El fragmento de URL de cadena que aparece después
el carácter. Si es nulo o indefinido, el fragmento de URL actual no se cambia. Si está vacía, el
Se borró el fragmento de URL.
|
setChangeHandler(function)
Establece una función de devolución de llamada para responder a los cambios en el historial del navegador. La función de devolución de llamada
debería tomar solo un objeto de evento único como argumento.
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...
});
Parámetros
Nombre | Tipo | Descripción |
function | Function | del cliente
función de devolución de llamada para que se ejecute en un evento de cambio del historial mediante el
event object como único argumento.
|
Objeto de evento
Campos |
e.state |
El objeto de estado asociado con el evento emergente. Este objeto es idéntico al estado
que se usó en el método push() o
replace() que agregó el estado emergente
en la pila del historial.
{"page":2, "name":"Wilbur"}
|
e.location |
Un objeto de ubicación
asociado con el evento emergente
{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}
|
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[null,null,["Última actualización: 2025-07-26 (UTC)"],[[["\u003cp\u003e\u003ccode\u003egoogle.script.history\u003c/code\u003e enables interaction with the browser history stack within web apps using \u003ccode\u003eIFRAME\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to push, replace, and monitor browser history state, including URL parameters and fragments.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can define custom state objects to store and retrieve application-specific data associated with history events.\u003c/p\u003e\n"],["\u003cp\u003eA change handler can be set to trigger a callback function in response to history changes, allowing dynamic UI updates.\u003c/p\u003e\n"]]],[],null,["# Class google.script.history (Client-side API)\n\n`google.script.history` is an asynchronous client-side JavaScript API that can interact\nwith the browser history stack. It can only be used in the context of a web app that uses\n[`IFRAME`](/apps-script/reference/html/sandbox-mode#properties).\nIt is not intended for use with sidebars and dialogs in an add-on or\ncontainer-script context. For more information, see the\n[guide to using browser\nhistory in web apps](/apps-script/guides/web#web_apps_and_browser_history). \n\n### Methods\n\n| Method | Return type | Brief description |\n|----------------------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------|\n| [push(stateObject, params, hash)](#push(Object,Object,String)) | `void` | Pushes the provided state object, URL parameters and URL fragment onto the browser history stack. |\n| [replace(stateObject, params, hash)](#replace(Object,Object,String)) | `void` | Replaces the top event on the browser history stack with the provided state object, URL parameters and URL fragment. |\n| [setChangeHandler(function)](#setChangeHandler(Function)) | `void` | Sets a callback function to respond to changes in the browser history |\n\nDetailed documentation\n----------------------\n\n### `push(stateObject, params, hash)`\n\nPushes the provided state object, URL parameters and URL fragment onto the browser history\nstack. The state object is a simple JavaScript Object that is defined by the developer and can\ncontain any data relevant to the app's current state. This method is analogous to the\n[pushState()](https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method)\nJavaScript method. \n\n### Index.html\n\n```html\nvar now = new Date();\nvar state = {\n 'timestamp': now.getTime()\n};\nvar params = {\n 'options': \"none\"\n};\ngoogle.script.history.push(state, params, \"anchor1\");\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `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. |\n| `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. |\n| `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. |\n\n*** ** * ** ***\n\n*** ** * ** ***\n\n### `replace(stateObject, params, hash)`\n\nReplaces the top event on the browser history stack with the provided (developer-defined) state\nobject, URL parameters and URL fragment. This is otherwise identical to\n[push()](#push(Object,Object,String)). \n\n### Index.html\n\n```html\nvar now = new Date();\nvar state = {\n 'timestamp': now.getTime()\n};\nvar params = {\n 'options': \"none\"\n};\ngoogle.script.history.replace(state, params, \"anchor1\");\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|---------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `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. |\n| `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. |\n| `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. |\n\n*** ** * ** ***\n\n### `setChangeHandler(function)`\n\nSets a callback function to respond to changes in the browser history. The callback function\nshould take only a single [event object](#eventObject) as an argument.\n\n### Index.html\n\n```html\ngoogle.script.history.setChangeHandler(function (e) {\n console.log(e.state);\n console.log(e.location.parameters);\n console.log(e.location.hash);\n\n // Adjust web app UI to match popped state here...\n});\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|------------|----------------------------------------------------------------------------------------------------------------------------------|\n| `function` | `Function` | a client-side callback function to run upon a history change event, using the [event object](#eventObject) as the only argument. |\n\n#### Event object\n\n| Fields ||\n|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `e.state` | The state object associated with the popped event. This object is identical to the state object that used in the corresponding [push()](#push(Object,Object,String)) or [replace()](#replace(Object,Object,String)) method that added the popped state to the history stack. ``` {\"page\":2, \"name\":\"Wilbur\"} ``` |\n| `e.location` | A [location object](/apps-script/guides/html/reference/url#locationObject) associated with the popped event ``` {\"hash\":\"\", \"parameter\":{\"name\": \"alice\", \"n\": \"1\"}, \"parameters\":{\"name\": [\"alice\"], \"n\": [\"1\", \"2\"]}} ``` |\n\n*** ** * ** ***"]]