Как получить вкладки до закрытия окна браузера Chrome?

Я использую расширения Google Chrome и пытался захватить все вкладки до того, как окно будет закрыто как таковое:

chrome.windows.onRemoved.addListener(function(windowId) {
    chrome.windows.get(windowId, function(window) {
        alert(window.tabs); 
    });
});

Но я думаю, что окно на самом деле уничтожается, прежде чем я смогу добраться до window.tabs. Как мне получить их идентификаторы до того, как окно будет удалено?

Спасибо!


person Rio    schedule 18.01.2011    source источник
comment
Почему бы вам не отслеживать вкладки до их закрытия? До закрытия окна. Вы знаете, что человек в конечном итоге закроет их. Затем вы можете проверить, существуют ли они (каким-то образом), и если они все еще существуют, они, очевидно, еще не закрыты.   -  person Mateen Ulhaq    schedule 18.01.2011


Ответы (1)


Вы правы, в Chrome, когда вы закрываете окно, сначала закрываются все вкладки, а затем закрывается само окно.

Если вы хотите захватить все вкладки до того, как окно будет закрыто, насколько мне известно, лучшим подходом будет подключение слушателя к вкладки onRemoved событие http://code.google.com/chrome/extensions/tabs.html#event-onRemoved

Вам придется поддерживать внутренний кеш того, что закрывается, и когда окно закрывается, вы читаете этот кеш. Это может стать сложным, и некоторые проблемы, которые вам нужно решить.

Например, как узнать, что все эти вкладки закрыты? Возможно, ответ на этот вопрос состоит в том, чтобы сделать таймер на 1 секунду, подсчитать все закрытые вкладки в этом состоянии и сбросить его после окончания таймера. Могут быть другие способы.

Надеюсь помог, удачи!

person Mohamed Mansour    schedule 18.01.2011