我正在使用谷歌Chrome扩展程序,我试图在窗口关闭之前捕获所有选项卡:
chrome.windows.onRemoved.addListener(function(windowId) {
chrome.windows.get(windowId, function(window) {
alert(window.tabs);
});
});
但我认为在我到达window.tabs之前,窗口实际上已经被破坏了。如何在删除窗口之前获取其ID?
谢谢!
答案 0 :(得分:3)
你是对的,当你关闭一个窗口时,在Chrome中,所有选项卡将先关闭,然后窗口本身将关闭。
如果你想在关闭一个窗口之前捕获所有标签,我相信据我所知,最好的方法是将听众连接到tabs onRemoved事件http://code.google.com/chrome/extensions/tabs.html#event-onRemoved
您必须维护正在关闭的内部缓存,并且当窗口关闭时,您将读取该缓存。它可能会变得棘手,还有一些你需要解决的问题。
例如,您如何知道所有这些标签都已关闭?也许这个问题的答案是制作一个1秒的计时器,并计算该状态下所有关闭的标签,并在计时器结束后重置它。可能还有其他方法。
希望有所帮助,祝你好运!