Как получить закрытую вкладку в сафари? - PullRequest
0 голосов
/ 14 марта 2012


Я ловлю событие "закрыть" для вкладки, но как мне узнать, какая вкладка была закрыта?

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

Есть идеи?

1 Ответ

1 голос
/ 15 марта 2012

В данный момент событие фиксируется, свойства 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 с этой переменной.

...