사용자가 웹 브라우저에서 탭을 닫았는지 알 수있는 방법이 있습니까? 특히 IE7뿐만 아니라 파이어 폭스 및 기타도 있습니다. 웹 사이트를 포함하는 현재 탭이 닫히면 ASP 코드에서이 상황을 처리 할 수 있기를 원합니다.웹 브라우저에서 탭 닫기 이벤트 잡기?
답변
"onbeforeunload"이벤트를 첨부하십시오. 브라우저/탭이 닫기 직전에 코드를 실행할 수 있습니다.
페이지가 서버 쪽에서 닫힐 때를 알아야 할 경우 가장 좋은 방법은 페이지에서 주기적으로 서버에 핑하는 것입니다 (예 : XMLHttpRequest
통해). ping이 중지되면 페이지가 닫힙니다. 브라우저가 충돌하거나 종료되거나 컴퓨터가 꺼진 경우에도 작동합니다.
Eran Galperin이 제안했듯이 onbeforeunload
을 사용하십시오. 특히 문자열을 반환하면 해당 문자열이 확인 대화 상자에 포함되어 사용자가 페이지를 떠날 지 여부를 선택할 수 있습니다. 각 브라우저에는 반환하는 문자열 앞뒤에 텍스트가 포함되어 있으므로 다른 브라우저에서 테스트하여 사용자에게 표시되는 내용을 확인해야합니다.
OP가 웹 페이지의 컨텍스트에서 묻는 것이 확실하지만이 질문에 대한 Firefox 추가 기능 개발자는 TabClose
이벤트를 사용할 수 있습니다. 또한 다음과 같은 이벤트에 호출되는 https://developer.mozilla.org/en/Code_snippets/Tabbed_browser#Notification_when_a_tab_is_added_or_removed
onbeforeunload -
* Close the current browser window.
* Navigate to another location by entering a new address or selecting a Favorite.
* Click the Back, Forward, Refresh, or Home button.
* Click an anchor that refers the browser to another Web page.
* Invoke the anchor.click method.
* Invoke the document.write method.
* Invoke the document.open method.
* Invoke the document.close method.
* Invoke the window.close method.
* Invoke the window.open method, providing the possible value _self for the window name.
* Invoke the window.navigate or NavigateAndFind method.
* Invoke the location.replace method.
* Invoke the location.reload method.
* Specify a new value for the location.href property.
* Submit a form to the address specified in the ACTION attribute via the INPUT type=submit control, or invoke the form.submit method.
그래서, 당신은 그들이 탭 또는 브라우저 창을 닫을 경우 사용자가 로그 아웃하려는 경우, 당신은 매번 그들을 로그 아웃 끝날 것입니다 그들은 링크를 클릭하거나 페이지를 제출하십시오.
Santosh가 맞습니다.이 이벤트는 탭/브라우저의 닫기 버튼을 누르는 것보다 더 많은 작업에서 트리거됩니다. 나는 문서 준비에 다음 함수를 추가하여 onbeforeunload 작업을 트리거하지 못하도록 약간의 해킹을 만들었습니다. 당신이 원하지 않는 경우
window.onbeforeunload = null;
이벤트가 트리거 될 : 또한
$(function() {
window.onbeforeunload = OnBeforeUnload;
$(window).data('beforeunload', window.onbeforeunload);
$('body').delegate('a', 'hover', function (event) {
if (event.type === 'mouseenter' || event.type === "mouseover")
window.onbeforeunload = null;
else
window.onbeforeunload = $(window).data('beforeunload');
});
});
, 당신은 산토 언급 이벤트 중 하나를 트리거하기 전에, 당신이 줄을 실행해야합니다.
그리고 여기에 최종 코드 조각 : 당신이 한 단계 더 가야 할 것 (당신의 ASP 코드에서) 그것을 서버 측을 처리 할 수 있도록
function OnBeforeUnload(oEvent) {
// return a string to show the warning message (not every browser will use this string in the dialog)
// or run the code you need when the user closes your page
return "Are you sure you want to close this window?";
}
- 1. Firefox 탭에서 닫기 탭 이벤트 잡기
- 2. Safari 확장 프로그램에서 닫기 탭 이벤트 잡기
- 3. wxpython auinotebook 닫기 탭 이벤트
- 4. 캡쳐 탭 페이지 닫기 이벤트
- 5. Gecko 기반 브라우저에서 창 닫기 이벤트 감지
- 6. Java Swing에서 JTabbedPanel의 닫기 탭 이벤트 캡처
- 7. 브라우저 종료 이벤트 잡기
- 8. 버튼 내비게이션 이벤트 잡기
- 9. TextArea의 탭 잡기
- 10. 캡쳐 윈도우 닫기 이벤트
- 11. gtk에서 스크롤 이벤트 잡기 #
- 12. 파이썬 : 웹 브라우저에서 unfocused 탭 열기
- 13. 탭 항목 닫기/제거 WPF
- 14. ie8 탭 닫기 방법
- 15. TabControl - 활성화 된 탭 잡기
- 16. 브라우저 탭 닫기 gwt에서 감지
- 17. 브라우저 닫기/웹 사이트 종료 이벤트
- 18. Silverlight 브라우저 닫기 이벤트
- 19. Openlayers 및 잡기 이벤트 드래그
- 20. 정지 된 전파로 이벤트 잡기
- 21. 서브 뷰 터치 이벤트 잡기
- 22. DataGrid의 포커스 아웃 이벤트 잡기
- 23. Vb.net 프로세스 닫기 이벤트
- 24. 에있는 브라우저 닫기 이벤트
- 25. SecurityPanel 닫기 이벤트
- 26. VB.Net UserControl Winforms의 이벤트 닫기
- 27. 브라우저 또는 탭 닫을 때 세션 닫기/닫기
- 28. 모든 jquery 아코디언 탭 닫기
- 29. c를 사용하여 tabcontrol의 탭 닫기
- 30. WPF를 사용하여 중첩 탭 닫기?
감사합니다. 나는이 세부 사항을 우리 ASP 개발자에게 넘겨 주며 그녀의 발견에 따라 답변에 투표 할 것입니다. –
onbeforeunload는 Opera에서 작동하지 않습니다. onunload는 Opera에서 작동하지만, 예를 들어 링크를 클릭하여 페이지에서 벗어날 때만 작동합니다. 탭을 닫거나 페이지를 새로 고침하면 onunload가 Opera에서 실행되지 않습니다. – Shadow2531
onbeforeunload 이벤트를 사용하기 전에 무엇이 필요한지 이해하십시오. Santosh의 답변과 제 대답을 읽어보십시오.Eran이 제안한 것과 같은 onbeforeunload 이벤트를 첨부하면 예상보다 많은 시간이이 이벤트가 트리거되는 것을 볼 수 있기 때문에 많은 시간을 절약 할 수 있습니다. – ThdK