0

ブラウザ ウィンドウの状態を保存/復元する 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 行ずつチェックし、このタブの作成を明示的に要求していないことを確認しました。それで - 誰もこのようなものを見たことがありますか?

4

0 に答える 0