2010-07-15 2 views
4

예, 나는 이것이 끔찍한 UI와 접근 용이성이 현명하다는 것을 깨닫습니다. 그러나 계약 된 작업으로 인해 옵션을 찾아야합니다 (처음에는 동의하지 않았고 붙어 있습니다).사용자가 브라우저를 종료 할 때 사용자 정의 대화 상자를 표시 하시겠습니까?

난 당신이 onbeforeunload 등으로 이벤트 핸들러를 할당 할 수 있다는 사실을 알고 :

window.onbeforeunload = function() { 
    return 'You have unsaved changes!'; 
} 

사용자 정의 할 수없는 OS/브라우저에 의해 생성 된 대화 상자를 가져올 것 그. 요청을 취소하거나 계속하도록 요청할 것입니다. 이 가장 가능성이 "팝업"로 현대의 브라우저에 의해 차단받을 것

window.onbeforeunload = function() { 
    var x = window.open('modal.html'); 
} 

:

는 지금까지 내가 모든 사용자 정의 다움을 표시 할 수있는 유일한 방법은 해당 이벤트 핸들러에 window.open를 삽입하여 보인다 . 내 대화 상자에서 완전히 새로운 페이지를 표시해야하지만 이것은 수요를 충족시키는 유일한 방법 인 것 같습니다.

내가 가지고있는 유일한 옵션입니까? 강제로 클라이언트에게 말하는 것 이외에는 이것을 권장하지 않습니다.

다른 옵션은 사용자가 "요청 취소"를 누른 다음 대화 상자를 삽입하는 것입니다.

답변

1

의 onbeforeunload시에 공개하는 것이 .SWF 사용할 수 있습니다.

1

이미 보았다 질문에 따라, 당신은 문자열의 메시지 전달을 넘어 그 대화 상자를 사용자 정의 할 수 없습니다 :

질문은 내가 이미을 살펴 보았다 브라우저에 의해 표시됩니다.

window.onbeforeunload - MDC

-1

당신은 숨겨진 플래시 난 그냥 window.open 경로 onbeforeunload 갔다 대신 window.open

+0

그래도 열어 둘 수 있을까요? 그것은 단지 embed/object 요소 일뿐입니다. –

관련 문제