ブラウザ ウィンドウの状態を保存/復元する Chrome 拡張機能を作成しています。つまり、特定のウィンドウの状態を保存します。
var properties = [ "top",
"left",
"width",
"height",
"incognito",
"focused",
"type"
];
var json = {};
var cache = chrome_window_object;
// copy only the keys we care about:
_.each(properties,function(key,value) {
json[key] = cache[key];
});
// then copy the URLs of the tabs, if they exist:
if(cache.tabs) {
json.url = [];
_.each(cache.tabs,function(tab) {
json.url.push(tab.url);
});
}
return json;
将来のある時点で、すべてのウィンドウを削除します。
closeAllWindows: function(done_callback) {
function got_all(windows) {
var index = 0;
// use a closure to only close one window at a time:
function close_next() {
if(windows.length <= index) return;
var window = windows[index++];
chrome.windows.remove(window,close_next);
}
// start closing windows:
close_next();
}
chrome.windows.getAll(got_all);
}
次に、次を使用してウィンドウを復元します。
chrome.windows.create(json_from_before);
作成されたウィンドウには、閉じたばかりのウィンドウにあるものは何でも、余分なタブがあります...私は完全に床に落ちており、問題は私が投稿していないコードで行っていることだと思います(それは大きな拡張です)。数時間かけてコードを 1 行ずつチェックし、このタブの作成を明示的に要求していないことを確認しました。それで - 誰もこのようなものを見たことがありますか?