2012-03-14 3 views
0


탭에 대해 "닫기"이벤트를 잡기는하지만 탭을 닫을 수있는 방법은 무엇입니까?사파리에서 닫힌 탭을 얻는 방법?

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