Clase google.script.history (API del cliente)

google.script.history es una API de JavaScript del cliente asíncrona que puede interactuar con la pila del historial de navegación. Solo se puede usar en el contexto de una app web que use IFRAME. No está diseñado para su uso con barras laterales y diálogos en un contexto de complementos o de secuencias de comandos de contenedor. Para obtener más información, consulta la guía para usar el historial del navegador en apps web.

Métodos

MétodoTipo de datos que se muestraDescripción breve
push(stateObject, params, hash) void Envía el objeto de estado proporcionado, los parámetros de URL y el fragmento de URL a la pila del historial del navegador.
replace(stateObject, params, hash) void Reemplaza el evento principal en la pila del historial de navegación por el objeto de estado proporcionado, los parámetros de URL y el fragmento de URL.
setChangeHandler(function) void Configura 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 de URL y el fragmento de URL a la pila del historial del navegador. El objeto de estado es un objeto de JavaScript simple que define el desarrollador y puede contener cualquier dato relevante para el estado actual de la app. Este método es análogo al método pushState() 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

NombreTipoDescripción
stateObjectObjectEs un objeto definido por el desarrollador que se asociará con un evento del historial del navegador y que vuelve a aparecer cuando se resalta el estado. Por lo general, se usa para almacenar información del estado de la aplicación (como datos de la página) a fin de su recuperación futura.
paramsObjectEs un objeto que contiene 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 arreglos: {foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz". Si son nulos o indefinidos, los parámetros de la URL actuales no se cambian. Si está vacío, se borran los parámetros de URL.
hashStringEs el fragmento de URL de string que aparece después del carácter "#". Si es nulo o indefinido, el fragmento de URL actual no se modificará. Si está vacío, se borra el fragmento de URL.


replace(stateObject, params, hash)

Reemplaza el evento principal en la pila del historial de navegación por el objeto de estado proporcionado (definido por el desarrollador), los parámetros de URL y el fragmento de URL. De lo contrario, es idéntico 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

NombreTipoDescripción
stateObjectObjectEs un objeto definido por el desarrollador que se asociará con un evento del historial del navegador y que vuelve a aparecer cuando se resalta el estado. Por lo general, se usa para almacenar información del estado de la aplicación (como datos de la página) a fin de su recuperación futura.
paramsObjectEs un objeto que contiene 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 arreglos: {foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz". Si son nulos o indefinidos, los parámetros de la URL actuales no se cambian. Si está vacío, se borran los parámetros de URL.
hashStringEs el fragmento de URL de string que aparece después del carácter "#". Si es nulo o indefinido, el fragmento de URL actual no se modificará. Si está vacío, se borra el fragmento de URL.

setChangeHandler(function)

Configura 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 un solo objeto de evento 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

NombreTipoDescripción
functionFunctionuna función de devolución de llamada del cliente para que se ejecute en un evento de cambios en el historial, utilizando el objeto de evento como único argumento.

Objeto de evento

Campos
e.state

El objeto de estado asociado con el evento emergente. Este objeto es idéntico al objeto de estado que se usó en el método push() o replace() correspondiente que agregó el estado emergente a 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"]}}