0
我正在捕捉选项卡的“关闭”事件,但我怎样才能关闭哪个选项卡?如何获得safari中的封闭标签?
safari.application.addEventListener("close", function(e){
// all e.target values are undefined, which is not helpful..
},true)
你有什么想法吗?
我正在捕捉选项卡的“关闭”事件,但我怎样才能关闭哪个选项卡?如何获得safari中的封闭标签?
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本身与该变量进行比较。
你说得对,我做了console.log。 谢谢! – Yosi 2012-03-15 12:49:13