应该是直截了当的,对吗?我们有以下听众可以使用。
chrome.tabs.onRemoved.addListener(function(tabId,removeinfo))
由于该标签已被删除,因此tabId不再有效。这留下了我们的removeinfo对象,但chrome文档没有指出它包含哪些属性。我是一个javascript新手,所以我不知道是否有办法通过某种反射过程获得属性。有什么想法吗?到目前为止,我已尝试过大约50次谷歌搜索。
答案 0 :(得分:3)
removeInfo
是一个包含单个布尔值的对象。它看起来应该是{ isWindowClosing: false }
。
您必须使用onUpdated事件维护一系列网址作为标签。如果存在URL,请将其保存到数组中,当onRemoved
事件触发时,您将保存该URL。
var urls = [];
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.url) {
urls[tabId] = changeInfo.url;
}
});
如果您想要关闭的标签页的网址,可以使用var url = urls[tabId];
答案 1 :(得分:1)
通常,如果您想浏览JS对象内容,可以使用console.log(thing)
或console.debug(thing)
将其吐出到控制台。控制台打开时, Ctrl + Shift + J ,或选项 + Cmd + Mac上的 J
但是,完成后,我可以告诉您,removeInfo
对象没有您需要的信息。这有点痛苦,但你必须添加onCreated和onUpdated的监听器,以便使用某个全局对象作为哈希表来跟踪tabID到URL的映射,然后使用该对象上的tabID检索URL。请注意,这些事件需要tabs
权限。 (更多信息:http://code.google.com/chrome/extensions/tabs.html)
如果您可以描述您的使用案例并提出更改API的案例,我建议您在http://new.crbug.com开票。