Classe google.script.history (API côté client)

google.script.history est une API JavaScript côté client asynchrone qui peut interagir avec la pile de l'historique du navigateur. Il ne peut être utilisé que dans le contexte d'une application Web qui utilise IFRAME. Elle n'est pas destinée à être utilisée avec des barres latérales et des boîtes de dialogue dans un module complémentaire ou dans un contexte de script de conteneur. Pour en savoir plus, consultez le guide d'utilisation de l'historique du navigateur dans les applications Web.

Méthodes

MéthodeType renvoyéBrève description
push(stateObject, params, hash) void Transfère l'objet d'état, les paramètres d'URL et le fragment d'URL fournis dans la pile d'historique du navigateur.
replace(stateObject, params, hash) void Remplace l'événement supérieur de la pile de l'historique du navigateur par l'objet d'état, les paramètres d'URL et le fragment d'URL fournis.
setChangeHandler(function) void Définit une fonction de rappel pour répondre aux modifications de l'historique du navigateur

Documentation détaillée

push(stateObject, params, hash)

Transfère l'objet d'état, les paramètres d'URL et le fragment d'URL fournis dans la pile d'historique du navigateur. L'objet state est un objet JavaScript simple défini par le développeur. Il peut contenir toutes les données correspondant à l'état actuel de l'application. Cette méthode est analogue à la méthode JavaScript pushState().

Index.html

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

Paramètres

NomTypeDescription
stateObjectObjectObjet défini par le développeur à associer à un événement d'historique du navigateur et qui s'affiche lorsque l'état est affiché. Généralement utilisé pour stocker des informations sur l'état de l'application (telles que les données de page) en vue de les récupérer ultérieurement.
paramsObjectObjet contenant des paramètres d'URL à associer à cet état. Par exemple, {foo: “bar”, fiz: “baz”} équivaut à "?foo=bar&fiz=baz". Vous pouvez également utiliser des tableaux : {foo: [“bar”, “cat”], fiz: “baz”} équivaut à "?foo=bar&foo=cat&fiz=baz". Si la valeur est nulle ou non définie, les paramètres d'URL actuels ne sont pas modifiés. Si ce champ est vide, les paramètres d'URL sont effacés.
hashStringFragment d'URL de chaîne apparaissant après le caractère "#". Si la valeur est nulle ou non définie, le fragment d'URL actuel n'est pas modifié. Si ce champ est vide, le fragment d'URL est effacé.


replace(stateObject, params, hash)

Remplace l'événement supérieur de la pile de l'historique du navigateur par l'objet d'état (défini par le développeur), les paramètres d'URL et le fragment d'URL fournis. Cette méthode est identique à push().

Index.html

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

Paramètres

NomTypeDescription
stateObjectObjectObjet défini par le développeur à associer à un événement d'historique du navigateur et qui s'affiche lorsque l'état est affiché. Généralement utilisé pour stocker des informations sur l'état de l'application (telles que les données de page) en vue de les récupérer ultérieurement.
paramsObjectObjet contenant des paramètres d'URL à associer à cet état. Par exemple, {foo: “bar”, fiz: “baz”} équivaut à "?foo=bar&fiz=baz". Vous pouvez également utiliser des tableaux : {foo: [“bar”, “cat”], fiz: “baz”} équivaut à "?foo=bar&foo=cat&fiz=baz". Si la valeur est nulle ou non définie, les paramètres d'URL actuels ne sont pas modifiés. Si ce champ est vide, les paramètres d'URL sont effacés.
hashStringFragment d'URL de chaîne apparaissant après le caractère "#". Si la valeur est nulle ou non définie, le fragment d'URL actuel n'est pas modifié. Si ce champ est vide, le fragment d'URL est effacé.

setChangeHandler(function)

Définit une fonction de rappel pour répondre aux modifications de l'historique du navigateur. La fonction de rappel ne doit utiliser qu'un seul objet d'événement comme 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...
});

Paramètres

NomTypeDescription
functionFunctionUne fonction de rappel côté client à exécuter en cas d'événement de modification de l'historique, en utilisant l'objet événement comme seul argument.

Objet événement

Champs
e.state

Objet état associé à l'événement transmis. Cet objet est identique à l'objet d'état utilisé dans la méthode push() ou replace() correspondante, qui a ajouté l'état affiché à la pile d'historique.

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

Un objet de localisation associé à l'événement affiché

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