이러한 대화 중 일부는 말하지만 악의적 인 작업은 수행 할 수 없습니다 . 언제든지 확인 또는 페이지 나가기를 클릭 하여 결과없이 문제가되는 페이지를 닫을 수 있습니다 .
대화가 너무 길어서 경우 버튼이 화면 밖으로있다 , 당신은 할 수 눌러Enter 페이지를 닫는 확인합니다.
키보드가없는 경우 (터치 스크린 장치) 아래의 북마크를 사용하거나 SimpleSimon의 답변 (Chrome 만 해당)을 참조하십시오 .
이제 몇 가지 세부 사항이 있습니다.
페이지를 닫을 때 onbeforeunload
이벤트를 통해 조치를 수행하는 방법은 한 가지뿐입니다 . 물론 이것은 사용자에 대해 쉽게 사용할 수 있습니다 (예를 들어, 페이지를 닫으려고 할 때 새 창에서 사본을 열 때). 매우 제한적입니다.
실제로 할 수있는 유일한 일은 사용자 정의 텍스트와 두 개의 버튼이있는 대화 상자를 여는 것입니다. 하나는 페이지를 떠나고 하나는 유지합니다. 해당 대화 상자로 페이지가 할 수있는 것은 텍스트를 정의하는 것입니다. 버튼과 제목 표시 줄은 변경할 수 없습니다. 다음은 파이어 폭스 3.6에서 스크린 샷입니다 : ( 매우 파이어 폭스의 이전 버전)
당신이 할 수 물론 사람들과 팝업 보여 어떤 텍스트를 바로 확인 / 취소 버튼을, 당신은 확실히 조만간 어떤 사람이 당신에 대해 그것을 사용하는 것을 할 수있다.
위의 스크린 샷에서 확인 은 "이 페이지를 떠난다"는 것을 의미하지만 사용자 정의 설명은 더 많은 것을 제안합니다. 따라서 브라우저는 대화 상자를 변경하여 오해의 소지가 더 어렵습니다. 예를 들어 Firefox의 최신 버전은 사용자 정의 텍스트를 무시하는 것 같습니다.
Chrome은 맞춤 텍스트를 보여 주지만 항상 사용자에게 무엇을하고 싶은지를 묻는 질문을 추가하고 버튼은 명시 적으로 작업을 표시합니다 (하지만 여전히 "고양이 동영상"메시지가 발생하기 쉽습니다!)
다음은 "cat-prone"인 Internet Explorer 10입니다.
Opera 12는 onbeforeunload
이벤트를 무시하기 때문에 탭을 닫으려고하면 다른 것과 마찬가지로 닫힙니다. 그래도 최신 Opera는 테스트하지 않았습니다.
따라서 가장 중요한 것을 요약하면 다음과 같습니다.
- 페이지에 텍스트가있는 대화 상자를 표시 할 수 없습니다. 웹 사이트는 브라우저에 사용자 정의 텍스트가있는 대화 상자를 표시하도록 요청할 수 있지만 브라우저는이를 무시하거나 (Opera), 일반 텍스트 (Firefox)를 사용하거나, 발생할 일을 명시 적으로 말할 수 있습니다 (Chrome, IE).
- 대화 상자의 세부 사항은 사용중인 브라우저에 따라 다르지만 버튼은 항상 변경할 수 없습니다. 그들이 어떤 일을하는지 명시 적으로 말하지 않는다면, OK 는 "이 페이지를 떠남 *을 의미하고 취소 는"여기에 머 무르십시오 "를 의미합니다.
- 웹 사이트를 떠나기로 결정하면 악의적 인 작업을 수행 할 수 없습니다. 파일은 고양이 비디오로 대체되지 않으며 135234 바이러스가 넘치지 않으며 FBI는 컴퓨터에 불법 소프트웨어가 있음을 알리지 않습니다.
onbeforeunload
원하는 경우 이벤트 를 비활성화 하여 페이지가 떠나거나 머 무르도록 요청하는 것을 효과적으로 방지 할 수 있습니다. 크로스 브라우저 사용자 스크립트 는 다음과 같습니다 . (링크가 죽은 경우 아래로 스크롤)
악의적 인 팝업을 표시하는 특정 웹 사이트를 방문한 상태로두고 나가기를 두려워 하는 경우 책갈피를 작성하여 제거 할 수 있습니다. 북마크 바를 마우스 오른쪽 버튼으로 클릭하고 새 북마크 (또는 이에 상응하는)를 선택하고이를 URL로 붙여 넣습니다 (위의 링크에서 작성된 코드입니다).
javascript:var x=document.createElement('script');x.type='text/javascript';x.innerHTML='onbeforeunload=function(){};';document.body.appendChild(x);
그런 다음 해당 책갈피를 클릭하면 활성 페이지에서 팝업이 일시적으로 제거됩니다.
브라우저에서 팝업이 표시되는 방식을 테스트하거나 책갈피 / 사용자 스크립트를 테스트하려면 다음 코드를 사용하여 텍스트 파일을 작성하고 파일로 저장 .html
하십시오.
<html><body onbeforeunload="return 'My custom text.'">_</body></html>
사용자 스크립트 링크가 현재 종료 된 것 같습니다. 따라서 archive.org cache 에서 추출한 사본이 있습니다. 원본 스크립트 제작자의 모든 크레딧.
// ==UserScript==
// @name Disable - remove onbeforeunload
// @namespace
// @description Disable - remove the annoying onbeforeunload event
// @include *
// @author netvisiteurs.com
// ==/UserScript==
var x = document.createElement('script');
x.type = 'text/javascript';
x.innerHTML = 'onbeforeunload = function() {};';
document.body.appendChild(x);