Classe google.script.history (API do lado do cliente)

google.script.history é uma API JavaScript assíncrona do lado do cliente que pode interagir com a pilha do histórico de navegação. Ele só pode ser usado no contexto de um app da Web que usa IFRAME. Ele não é indicado para uso com barras laterais e caixas de diálogo em um contexto de complemento ou container-script. Para mais informações, consulte o guia para usar o histórico de navegação em apps da Web.

Métodos

MétodoTipo de retornoBreve descrição
push(stateObject, params, hash) void Envia o objeto de estado, os parâmetros de URL e o fragmento de URL fornecidos para a pilha do histórico de navegação.
replace(stateObject, params, hash) void Substitui o evento principal na pilha do histórico de navegação pelo objeto de estado, parâmetros de URL e fragmento de URL fornecidos.
setChangeHandler(function) void Define uma função de callback para responder a mudanças no histórico de navegação

Documentação detalhada

push(stateObject, params, hash)

Envia o objeto de estado, os parâmetros de URL e o fragmento de URL fornecidos para a pilha do histórico de navegação. O objeto de estado é um objeto JavaScript simples definido pelo desenvolvedor e pode conter qualquer dado relevante para o estado atual do app. Esse método é análogo ao método JavaScript pushState().

Index.html

var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.push(state, params, "anchor1");

Parâmetros

NomeTipoDescrição
stateObjectObjectUm objeto definido pelo desenvolvedor a ser associado a um evento do histórico de navegação e que reaparece quando o estado é mostrado. Normalmente são usadas para armazenar informações de estado do aplicativo (como dados da página) para recuperação futura.
paramsObjectUm objeto que contém parâmetros de URL a serem associados a esse estado. Por exemplo, {foo: “bar”, fiz: “baz”} equivale a "?foo=bar&fiz=baz". Como alternativa, matrizes podem ser usadas: {foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz". Se o valor for nulo ou indefinido, os parâmetros atuais do URL não serão alterados. Se estiver vazio, os parâmetros de URL serão apagados.
hashStringO fragmento de URL da string que aparece após o caractere '#'. Se for nulo ou indefinido, o fragmento de URL atual não será alterado. Se estiver vazio, o fragmento de URL será apagado.


replace(stateObject, params, hash)

Substitui o evento principal na pilha do histórico de navegação pelo objeto de estado fornecido (definido pelo desenvolvedor), parâmetros de URL e fragmento de URL. Fora isso, ele é 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

NomeTipoDescrição
stateObjectObjectUm objeto definido pelo desenvolvedor a ser associado a um evento do histórico de navegação e que reaparece quando o estado é mostrado. Normalmente são usadas para armazenar informações de estado do aplicativo (como dados da página) para recuperação futura.
paramsObjectUm objeto que contém parâmetros de URL a serem associados a esse estado. Por exemplo, {foo: “bar”, fiz: “baz”} equivale a "?foo=bar&fiz=baz". Como alternativa, matrizes podem ser usadas: {foo: [“bar”, “cat”], fiz: “baz”} equivale a "?foo=bar&foo=cat&fiz=baz". Se o valor for nulo ou indefinido, os parâmetros atuais do URL não serão alterados. Se estiver vazio, os parâmetros de URL serão apagados.
hashStringO fragmento de URL da string que aparece após o caractere '#'. Se for nulo ou indefinido, o fragmento de URL atual não será alterado. Se estiver vazio, o fragmento de URL será apagado.

setChangeHandler(function)

Define uma função de callback para responder a mudanças no histórico de navegação. A função de callback precisa usar apenas um 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

NomeTipoDescrição
functionFunctionUma função de callback do lado do cliente a ser executada em um evento de alteração do histórico, usando o objeto de evento como o único argumento.

Objeto de evento

Campos
e.state

O objeto de estado associado ao evento exibido. Esse objeto é idêntico ao objeto de estado usado no método push() ou replace() correspondente que adicionou o estado exibido à pilha de histórico.

{"page":2, "name":"Wilbur"}
e.location

Um objeto de local associado ao evento destacado

{"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}}