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 d'historique du navigateur. Elle ne peut être utilisée que dans le contexte d'une application Web qui utilise IFRAME. Elle n'est pas conçue pour être utilisée avec des barres latérales et des boîtes de dialogue dans un contexte de module complémentaire ou de script de conteneur. Pour plus d'informations, consultez le guide sur l'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 principal dans la pile d'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 changements dans 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 état est un objet JavaScript simple défini par le développeur et pouvant contenir toutes les données pertinentes pour l'état actuel de l'application. Cette méthode est semblable à la méthode pushState() JavaScript.

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 de l'historique du navigateur et qui s'affiche à l'affichage de l'état. Généralement utilisé pour stocker des informations sur l'état de l'application (telles que les données de page) à des fins de récupération.
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”} correspond à "?foo=bar&foo=cat&fiz=baz". S'il est nul ou non défini, 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 de l'URL de chaîne apparaissant après le caractère "'". S'il est nul ou non défini, 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 principal dans la pile d'historique du navigateur par l'objet d'état, les paramètres d'URL et le fragment d'URL fournis (définis par le développeur). 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 de l'historique du navigateur et qui s'affiche à l'affichage de l'état. Généralement utilisé pour stocker des informations sur l'état de l'application (telles que les données de page) à des fins de récupération.
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”} correspond à "?foo=bar&foo=cat&fiz=baz". S'il est nul ou non défini, 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 de l'URL de chaîne apparaissant après le caractère "'". S'il est nul ou non défini, 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 changements dans l'historique du navigateur. La fonction de rappel ne doit utiliser qu'un seul objet d'événement.

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 lors d'un événement de modification de l'historique, utilisant l'objet d'événement comme seul argument.

Objet événement

Champs
e.state

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

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

Un objet de localisation associé à l'événement déclenché

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