Javascript 如何在safari中获取关闭的选项卡?

Javascript 如何在safari中获取关闭的选项卡?,javascript,safari,tabs,safari-extension,Javascript,Safari,Tabs,Safari Extension,我正在捕捉选项卡的“关闭”事件,但如何才能确定哪个选项卡已关闭 safari.application.addEventListener("close", function(e){ // all e.target values are undefined, which is not helpful.. },true) 你知道吗?在捕获事件的那一刻,e.target(关闭的选项卡)的属性不是未定义的。我猜您正在使用类似于console.log(e.target)的东西,然后在控制


我正在捕捉选项卡的“关闭”事件,但如何才能确定哪个选项卡已关闭

safari.application.addEventListener("close", function(e){
     // all e.target values are undefined, which is not helpful..    
},true)

你知道吗?

在捕获事件的那一刻,e.target(关闭的选项卡)的属性不是未定义的。我猜您正在使用类似于
console.log(e.target)
的东西,然后在控制台中检查记录的对象。您将看到未定义的属性,因为事件已完成传播

请尝试以下方法:

safari.application.addEventListener("close", function (e) {
    if (e.target instanceof SafariBrowserTab) {
        console.log(e.target.title, e.target.url);
    }
}, true);
您将看到选项卡的属性在事件捕获时仍然被定义,因此您可以将它们与以前存储的值进行比较;或者,如果您之前已将所需的选项卡指定给变量,您甚至可以将e.target本身与该变量进行比较