google.script.history
是能與使用者互動的非同步用戶端 JavaScript API
瀏覽器記錄堆疊只能在使用
IFRAME
。
但不適用於外掛程式或外掛程式中的側欄和對話方塊
容器型式的內容詳情請參閱
瀏覽器使用指南
歷史記錄
方法
方法 | 傳回類型 | 簡短說明 |
---|---|---|
push(stateObject, params, hash) |
void |
將提供的狀態物件、網址參數和網址片段推送至瀏覽器記錄 |
replace(stateObject, params, hash) |
void |
將瀏覽器記錄堆疊中的頂層事件替換成提供的狀態物件 (網址) 參數和網址片段 |
setChangeHandler(function) |
void |
設定回呼函式,回應瀏覽器記錄的變更 |
內容詳盡的說明文件
push(stateObject, params, hash)
將提供的狀態物件、網址參數和網址片段推送至瀏覽器記錄 狀態物件是由開發人員定義的簡單 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 | 一個物件,其中包含要匯入的網址參數
與這個狀態建立關聯例如,{foo: “bar”, fiz: “baz”} 相當於
"?foo=bar&fiz=baz" 。或者,您也可以使用陣列:
{foo: [“bar”, “cat”], fiz: “baz”} 相當於 "?foo=bar&foo=cat&fiz=baz" 。
如果值為空值或未定義,則現有的網址參數不會變更。如果留空,網址參數就會是
已清除。
|
hash | String | 字串網址片段出現在 「#」字元。如果為空值或未定義,則目前網址片段不會變更。如果空白, 已清除網址片段。 |
replace(stateObject, params, hash)
將瀏覽器記錄堆疊中的熱門事件替換為提供的 (開發人員定義) 狀態 物件、網址參數和網址片段。在其他情況下,這與 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 | 一個物件,其中包含要匯入的網址參數
與這個狀態建立關聯例如,{foo: “bar”, fiz: “baz”} 相當於
"?foo=bar&fiz=baz" 。或者,您也可以使用陣列:
{foo: [“bar”, “cat”], fiz: “baz”} 相當於 "?foo=bar&foo=cat&fiz=baz" 。
如果值為空值或未定義,則現有的網址參數不會變更。如果留空,網址參數就會是
已清除。
|
hash | String | 字串網址片段出現在 「#」字元。如果為空值或未定義,則目前網址片段不會變更。如果空白, 已清除網址片段。 |
setChangeHandler(function)
設定回呼函式,回應瀏覽器記錄的變更。回呼函式 應該只有一個事件物件做為引數。
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 | 用戶端 要對記錄變更事件執行的回呼函式, event object 做為唯一的引數。 |
事件物件
欄位 | |
---|---|
e.state |
與彈出事件相關聯的狀態物件。這個物件 相應 push() 或 新增彈出狀態的 replace() 方法 記錄堆疊 {"page":2, "name":"Wilbur"} |
e.location |
位置物件 與跳出事件相關聯 {"hash":"", "parameter":{"name": "alice", "n": "1"}, "parameters":{"name": ["alice"], "n": ["1", "2"]}} |