google.script.history
は、ブラウザの履歴スタックを操作できるクライアント側の非同期 JavaScript API です。IFRAME
を使用するウェブアプリのコンテキストでのみ使用できます。
アドオンまたはコンテナ スクリプト コンテキストでのサイドバーやダイアログでの使用は想定されていません。詳しくは、ウェブアプリでのブラウザ履歴の使用に関するガイドをご覧ください。
Methods
方法 | 戻り値の型 | 概要 |
---|---|---|
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() JavaScript メソッドに似ています。
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 |
ポップされたイベントに関連付けられた位置情報オブジェクト {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |