Clase google.script.history (API del cliente)

google.script.history es una API de JavaScript asíncrona del lado 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 usa IFRAME. No está diseñado para usarse con barras laterales y diálogos en un contexto de complemento o de secuencia de comandos del contenedor. Para obtener más información, consulta la guía para usar el historial de navegación en aplicaciones 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 superior en la pila del historial del navegador con el objeto de estado proporcionado, los parámetros de URL y el 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 de URL y el fragmento de URL a la pila del historial del navegador. El objeto de estado es un objeto JavaScript simple definido por el desarrollador y puede contener cualquier dato relevante para el estado actual de la app. Este método es análogo al método de JavaScript pushState().

Índice 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
stateObjectObjectUn objeto definido por el desarrollador que se asociará a un evento del historial del navegador y que vuelve a aparecer cuando se abre el estado. Por lo general, se usa a fin de almacenar información del estado de la aplicación (como datos de páginas) para su recuperación futura.
paramsObjectUn 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 no están definidos, los parámetros de URL actuales no se modifican. Si está vacío, se borran los parámetros de URL.
hashStringFragmento de URL de string que aparece después del carácter '#' Si es nulo o no está definido, el fragmento de URL actual no se cambia. Si está vacío, se borra el fragmento de URL.


replace(stateObject, params, hash)

Reemplaza el evento superior de la pila del historial del navegador por el objeto de estado (definido por el desarrollador) y los parámetros de URL y el fragmento de URL. De lo contrario, es idéntico a push().

Índice 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
stateObjectObjectUn objeto definido por el desarrollador que se asociará a un evento del historial del navegador y que vuelve a aparecer cuando se abre el estado. Por lo general, se usa a fin de almacenar información del estado de la aplicación (como datos de páginas) para su recuperación futura.
paramsObjectUn 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 no están definidos, los parámetros de URL actuales no se modifican. Si está vacío, se borran los parámetros de URL.
hashStringFragmento de URL de string que aparece después del carácter '#' Si es nulo o no está definido, el fragmento de URL actual no se cambia. Si está vacío, se borra 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 un solo objeto de evento como argumento.

Índice 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 lado del cliente para ejecutarse en un evento de cambio de 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 los métodos push() o replace() correspondientes que agregaron 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"]}}