sessions.getWindowValue()
檢索先前透過呼叫 sessions.setWindowValue 儲存的值。
即使在視窗關閉/恢復週期中,您也可以從視窗檢索值:這意味著如果您設定了一個值,然後使用者關閉了該視窗,然後使用瀏覽器的“恢復視窗”功能(例如,按 Control+Shift+N)恢復了該視窗,那麼您將能夠從恢復的視窗中檢索該值。但請注意,恢復的視窗不會獲得與原始視窗相同的 ID,因此您傳遞給 getWindowValue() 的 ID 將與您傳遞給 setWindowValue() 的 ID 不同,儘管它們都指向同一個視窗。
這是一個非同步函式,返回一個 Promise。
語法
js
let retrieving = browser.sessions.getWindowValue(
windowId, // integer
key // string
)
引數
windowId-
integer。您要檢索資料的視窗的 ID。如果 ID 無效,則會丟擲錯誤。 key-
string。標識要檢索的特定值的鍵。這需要與先前在sessions.setWindowValue中提供的鍵匹配。
返回值
一個 Promise,如果值存在,它將用該值解析;如果不存在,則用 undefined 解析。如果呼叫失敗(例如,因為找不到視窗 ID),則 Promise 將以錯誤訊息被拒絕。
示例
記錄所有新建立視窗(包括任何已恢復的視窗)的“my-key”的值。
js
function onGetResolved(r) {
console.log(`success: ${r}`);
}
function onGetRejected(e) {
console.log(`error: ${e}`);
}
browser.windows.onCreated.addListener((window) => {
browser.sessions
.getWindowValue(window.id, "my-key")
.then(onGetResolved, onGetRejected);
});
瀏覽器相容性
載入中…