2011-03-10 5 views
2

플렉스 애플리케이션을 사용하여 실수로 앱을 나가지 않도록 다시 버튼을 눌렀을 때 사용자에게 경고하고 싶습니다. 나는 이것이 크로스 브라우저 비 호환성으로 인해 Actionscript에서 완전히 할 수 없다는 것을 알고있다. 내가 찾고있는 바로 자바 스크립트 구현은 뒤로 버튼을 잡는 것입니다.플렉스에서 사용하기 위해 자바에서 뒤로 버튼 '경고'구현하기

아무도 간단한 비 라이브러리 교차 브라우저 스크립트를 사용하여 뒤로 버튼을 잡을 수 있습니까? 예를 보여주는 게시물을 찾을 수없는 것 같습니다.

답변

5

window.onbeforeunload 이벤트를 사용할 수 있습니다.

window.onbeforeunload = function() { 
    return "Are you sure you want to leave my glorious Flex app?" 
} 

사용자가 퇴장하기 위해 누를 수 있습니다.

명시된대로 페이지가 변경 될 때마다 경고 메시지가 표시됩니다. 뒤로 버튼 클릭으로 만 발생하는지 확인하려면 예상되는 자연스러운 소스에서 페이지를 떠날 때마다 경고 메시지를 제거해야합니다.

var okayToLeave = false; 

window.onbeforeunload = function() { 
    if (!okayToLeave) { 
    return "Are you sure you want to leave my glorious Flex app?" 
    } 
} 

function OkayToLeave() { 
    okayToLeave = true; 
} 

당신은 자연스럽게 해당 페이지에서 그들을 걸릴 단추 나 링크를 클릭 할 때마다 참으로 변수를 설정하는 책임이 있습니다. 나는 눈에 잘 띄지 않는 자바 스크립트를위한 함수를 사용할 것이다.

는 DOM 준비에 이벤트 핸들러를 설정합니다

referenceToElement.addEventListener('onClick', OkayToLeave(), false); 

이 안된이지만, 올바른 방향을 가리켜 야합니다. 이 작업을 수행하는 것이 불편한 것처럼 보일 수 있지만 더 완벽한 기능이라고 생각합니다. 사용자가 즐겨 찾기를 클릭하거나 외부 응용 프로그램에서 리디렉션되는 경우를 다룹니다.

+0

awesome! 매우 간단합니다, 감사합니다. 구현이 제대로 작동하면 대답하겠습니다. – wajiw

+0

모든 URL 변경 사항과 함께 작동하는 것처럼 보입니다. 뒤로 버튼 만 사용하면됩니다. 그걸 어떻게하는 지 아는가? – wajiw

+0

뒤로 버튼 자체는 이벤트를 발생시키지 않습니다. 해킹을 위해 솔루션을 업데이트하겠습니다. –