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