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