google.script.history: 操作可能な非同期のクライアントサイド JavaScript API
  ブラウザ履歴スタックですこれは、
  IFRAME。
  アドオンのサイドバーやダイアログでの使用や、
  使用します。詳しくは、
  ブラウザの使用に関するガイド
  ウェブアプリの履歴をご覧ください。
メソッド
| メソッド | 戻り値の型 | 概要 | 
|---|---|---|
push(stateObject, params, hash) | 
  void | 
  提供された状態オブジェクト、URL パラメータ、URL フラグメントをブラウザの履歴にプッシュ 説明します。 | 
replace(stateObject, params, hash) | 
  void | 
  ブラウザ履歴スタックの一番上のイベントを、指定された状態オブジェクト(URL)に置き換えます。 パラメータと URL フラグメントです。 | 
setChangeHandler(function) | 
  void | 
  ブラウザ履歴の変更に応答するコールバック関数を設定する | 
詳細なドキュメント
push(stateObject, params, hash)
提供された状態オブジェクト、URL パラメータ、URL フラグメントをブラウザ履歴にプッシュする 説明します。状態オブジェクトは、デベロッパーが定義するシンプルな JavaScript オブジェクトで、 アプリの現在の状態に関連するデータを含む。この方法は pushState() 呼び出します。
Index.html
var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.push(state, params, "anchor1");パラメータ
| 名前 | 型 | 説明 | 
|---|---|---|
stateObject | Object | 作成される開発者定義のオブジェクトは 関連付けられ、状態がポップされたときに再表示されます。通常 後で取得できるように、アプリケーションの状態情報(ページデータなど)を保存するために使用されます。 | 
params | Object | リンク先 URL パラメータを含むオブジェクト
  関連付けられていますたとえば、{foo: “bar”, fiz: “baz”} は以下に相当します。
  "?foo=bar&fiz=baz"。または、配列を使用することもできます。
  {foo: [“bar”, “cat”], fiz: “baz”} は "?foo=bar&foo=cat&fiz=baz" に相当します。
  null または未定義の場合、現在の URL パラメータは変更されません。空の場合、URL パラメータは次のようになります。
  消去しました。
   | 
hash | String | 後に表示される文字列の URL の一部は、 「#」あります。null または未定義の場合、現在の URL の一部は変更されません。空の場合、 URL フラグメントがクリアされました。 | 
replace(stateObject, params, hash)
ブラウザ履歴スタックの一番上のイベントを、指定された(デベロッパー定義の)状態に置き換えます URL パラメータ、URL フラグメントですこれ以外は push()。
Index.html
var now = new Date();
var state = {
  'timestamp': now.getTime()
};
var params = {
  'options': "none"
};
google.script.history.replace(state, params, "anchor1");パラメータ
| 名前 | 型 | 説明 | 
|---|---|---|
stateObject | Object | 作成される開発者定義のオブジェクトは 関連付けられ、状態がポップされたときに再表示されます。通常 後で取得できるように、アプリケーションの状態情報(ページデータなど)を保存するために使用されます。 | 
params | Object | リンク先 URL パラメータを含むオブジェクト
  関連付けられていますたとえば、{foo: “bar”, fiz: “baz”} は以下に相当します。
  "?foo=bar&fiz=baz"。または、配列を使用することもできます。
  {foo: [“bar”, “cat”], fiz: “baz”} は "?foo=bar&foo=cat&fiz=baz" に相当します。
  null または未定義の場合、現在の URL パラメータは変更されません。空の場合、URL パラメータは次のようになります。
  消去しました。
   | 
hash | String | 後に表示される文字列の URL の一部は、 「#」あります。null または未定義の場合、現在の URL の一部は変更されません。空の場合、 URL フラグメントがクリアされました。 | 
setChangeHandler(function)
ブラウザ履歴の変更に応答するコールバック関数を設定します。コールバック関数 1 つのイベント オブジェクトのみを引数として取ります。
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...
});パラメータ
| 名前 | 型 | 説明 | 
|---|---|---|
function | Function | クライアントサイド コールバック関数を使用して、履歴変更イベント時に イベント オブジェクトを唯一の引数として受け取ります。 | 
イベント オブジェクト
| フィールド | |
|---|---|
e.state | 
      
         ポップされたイベントに関連付けられている状態オブジェクト。このオブジェクトは状態オブジェクトと 対応する push() または ポップされた状態を追加した replace() メソッド 履歴スタックに割り当てられます {"page":2, "name":"Wilbur"} | 
    
e.location | 
      
         location オブジェクト 関連するイベントが表示されます {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |