2012-03-14 7 views
0


私はタブの "close"イベントをキャッチしていますが、どのタブをどのように閉じることができますか?サファリで閉じたタブを取得するには?

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

ご存知ですか?

答えて

1

イベントがキャプチャされる瞬間、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); 

あなたは、タブのプロパティがまだイベントのキャプチャの瞬間で定義されていることがわかりますので、あなたは以前に格納された値にそれらを比較することができ;:

代わりにこれを試してみてくださいまたは以前に変数に希望のタブを割り当てていれば、eTarget自体をその変数と比較することさえできます。

+0

あなたは正しく、私はconsole.logを行いました。 ありがとう! – Yosi

関連する問題