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"]}} |