나는 팝업과 배경 페이지가있는 Google 크롬 확장 프로그램을 작성하고 있습니다. 팝업은 배경이 생성하는 특정 이벤트를 구독하며, 팝업이 사라지면 해당 이벤트의 구독을 취소하고 싶습니다. 그러나 팝업에서 생성되는 onbeforeunload 또는 onunload 이벤트가 표시되지 않습니다. 이 사건들이 해고 되었습니까? 그렇지 않다면 팝업 캡처 방법에 대한 아이디어가 있습니까?Google 크롬 확장에 popup.html에 대한 onbeforeunload 이벤트 트리거가 있습니까?
답변
비슷한 문제가있었습니다. 필자의 경우 팝업 페이지에 있던 요소에 초점을 맞추기로했습니다. 그래서 팝업이 닫히면 요소가 포커스를 잃고 blur 이벤트를 잡을 수 있습니다.
이 트릭은 나에게 효과적이지 않습니다. 정말로 희망적이었습니다.하지만 아무 것도 시도하지 않았습니다. –
"beforeunload"는 브라우저 동작 팝업으로 실행되는 이 아니며입니다. 날 믿어, 나는 노력했다. 그러나 "언로드"가 올바르게 시작되어야합니다.
사실, 비슷한 시스템을 사용하여 addEventListener를 사용하여 이벤트를 첨부 할 수 있으며 언로드 이벤트가 발생하면 자동으로 정리됩니다.
약간의 팁이 있습니다. 분명히 언로드 이벤트가 발생할 때까지는 이미 너무 늦었습니다. console.log
을 사용할 수 없습니다. 그러나, 당신은이 작업을 수행 할 수 있습니다
var background = chrome.extension.getBackgroundPage();
addEventListener("unload", function (event) {
background.console.log(event.type);
}, true);
위의 코드를 사용하면 unload 이벤트가 올바르게 해고되는 것을 보여 주어야 배경 페이지의 콘솔을 열 수 있습니다.
내선 번호에서 배경 페이지 대신 을 사용하도록 전환 한 경우에는 해당 페이지에 대한 액세스 권한을 얻으려면 chrome.runtime.getBackgroundPage()
을 호출해야합니다.이 기능은 백그라운드 페이지 참조와 함께 다시 호출됩니다.
그러나이 같은 onbeforeunload
처리기에서 배경 페이지를 얻기 위해 시도하는 경우 :
document.addEventListener("beforeunload", function() {
chrome.runtime.getBackgroundPage(function(backgroundPage) {
backgroundPage.log("unloading");
});
});
콜백 페이지가 언로드하기 전에 log()
호출이되지 않습니다 있도록 화재하지 않는 것 같습니다.
위의 설명에서 Pauan은 chrome.extension.getBackgroundPage()
을 사용하여 페이지를 가져올 것을 제안했습니다. 내가 작동하도록 할 수있는 유일한 방법은 addEventListener()
으로 핸들러를 생성하는 것이 아니 었습니다. 대신에 나는 오래된 학교를 가서 window
에 직접 핸들러를 설정했다 : 마지막으로 배경 페이지에 침입
window.onbeforeunload = function() {
chrome.extension.getBackgroundPage().log("unloading");
};
.
- 1. 크롬 확장에 대한 간단한 문제. :)
- 2. 크롬 확장에 객체 전달
- 3. onbeforeunload 이벤트 후
- 4. Google 크롬 문제가 있습니까?
- 5. Google 크롬 확장 프로그램에 로그인하는 AJAX 이벤트
- 6. 크롬 확장에 콘텐츠 스크립트를 동적으로 배포
- 7. Google 크롬 확장 쿠키 도움말!
- 8. 콜백 Google 크롬 확장자
- 9. Google 크롬 html5 지원
- 10. Google 크롬 및 JQuery ajaxStop에 버그가 있습니까
- 11. OnBeforeUnload 이후의 모든 트리거?
- 12. 아이콘의 Google 크롬 확장 번호
- 13. Google 크롬 : 검색 API?
- 14. Google 크롬 확장 프로그램에서 웹 페이지의 이벤트 리스너에 액세스하려면 어떻게해야합니까?
- 15. 정적 확장에 대한 매핑 처리기
- 16. Google 크롬 확장 프로그램
- 17. 크롬 확장 프로그램의 브라우저 이벤트 액세스 - 크롬 확장 DOM 이벤트
- 18. Google 크롬 플러그인
- 19. Google 크롬 컨텍스트 메뉴의
- 20. Google 크롬 확장 지속성
- 21. Onbeforeunload 예외
- 22. Google 크롬 번역 검색
- 23. iframe의 onbeforeunload 이벤트가 Google 크롬에서 실행되지 않습니다. Firefox에서 작동합니다.
- 24. Google 크롬. 확장 develompent
- 25. SwfObject 및 Google 크롬
- 26. Google 크롬 확장자
- 27. Google 크롬 확장자
- 28. Google 크롬 확장 이미지
- 29. Google 크롬 KeyCode 지정
- 30. Google 크롬 도움말
나는이 정확한 질문을 가지고있다. 혹시 답을 찾았습니까? –