google.script.history 類別 (用戶端 API)

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");

參數

名稱類型說明
stateObjectObject開發人員定義的物件 與瀏覽器記錄事件相關,並在狀態彈出時重新顯示。一般價格 儲存應用程式狀態資訊 (例如網頁資料),以供日後擷取。
paramsObject一個物件,其中包含要匯入的網址參數 與這個狀態建立關聯例如,{foo: “bar”, fiz: “baz”} 相當於 "?foo=bar&fiz=baz"。或者,您也可以使用陣列: {foo: [“bar”, “cat”], fiz: “baz”} 相當於 "?foo=bar&foo=cat&fiz=baz"。 如果值為空值或未定義,則現有的網址參數不會變更。如果留空,網址參數就會是 已清除。
hashString字串網址片段出現在 「#」字元。如果為空值或未定義,則目前網址片段不會變更。如果空白, 已清除網址片段。


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");

參數

名稱類型說明
stateObjectObject開發人員定義的物件 與瀏覽器記錄事件相關,並在狀態彈出時重新顯示。一般價格 儲存應用程式狀態資訊 (例如網頁資料),以供日後擷取。
paramsObject一個物件,其中包含要匯入的網址參數 與這個狀態建立關聯例如,{foo: “bar”, fiz: “baz”} 相當於 "?foo=bar&fiz=baz"。或者,您也可以使用陣列: {foo: [“bar”, “cat”], fiz: “baz”} 相當於 "?foo=bar&foo=cat&fiz=baz"。 如果值為空值或未定義,則現有的網址參數不會變更。如果留空,網址參數就會是 已清除。
hashString字串網址片段出現在 「#」字元。如果為空值或未定義,則目前網址片段不會變更。如果空白, 已清除網址片段。

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...
});

參數

名稱類型說明
functionFunction用戶端 要對記錄變更事件執行的回呼函式, event object 做為唯一的引數。

事件物件

欄位
e.state

與彈出事件相關聯的狀態物件。這個物件 相應 push() 或 新增彈出狀態的 replace() 方法 記錄堆疊

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

位置物件 與跳出事件相關聯

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