사용자가 링크를 클릭하면 확인 대화 상자없이 브라우저가 닫히는 링크 또는 버튼이 있어야한다고 가정합니다.Javascript로 IE6, IE7, IE8 및 Firefox를 닫지 않으시겠습니까?
Internet Explorer 6, 7, 8 및 Firefox에서 작동해야합니다.
사용자가 링크를 클릭하면 확인 대화 상자없이 브라우저가 닫히는 링크 또는 버튼이 있어야한다고 가정합니다.Javascript로 IE6, IE7, IE8 및 Firefox를 닫지 않으시겠습니까?
Internet Explorer 6, 7, 8 및 Firefox에서 작동해야합니다.
약간의 연구를했는데 Firefox/Firefox에서 해당 창/탭이 자바 스크립트를 통해 열리지 않거나 탭에 기록 페이지> 1 (즉, 뒤로 버튼 클릭 가능)이 있으면 창/탭을 닫을 수 없다는 것을 알았습니다 당신은 웹 페이지를 탐색합니다).
Firefox에서 수행 할 작업 : 먼저 기록을 삭제하십시오. 그러면 확인 상자없이 창을 닫을 수 있습니다. 나는이 해결책을 시도하지 않았다. 나는 이것을하는 방법을 설명하는 신뢰할 수있는 여러 페이지들을 읽는 것을 본다. 인터넷 익스플로러 6, 7
솔루션, 기능을 감지 브라우저에서 약간의 도움으로 8
: 여기 http://www.quirksmode.org/js/detect.html 여러 IE 버전에 대한 comfirmation 상자없이 창을 닫 방법이다.
if ((userBrowser.browser == "Explorer" && (userBrowser.version == "8" || userBrowser.version == "7"))) {
window.open('', '_self', '');
window.close();
} else if ((userBrowser.browser == "Explorer" && userBrowser.version == "6")) {
window.opener = null;
window.close();
} else {
window.opener = '';
window.close(); // attempt to close window first, show user warning message if fails
alert("To avoid data corruption/loss. Please close this window immedietly.");
}
저는 브라우저 인식 기능을 사용하는 것이 좋지 않다고 생각할 수도 있습니다. 또한 많은 사람들이 창 닫기를 강요하는 것은 나쁜 일이라고 생각합니다. 나는 그 생각에 동의한다. 그러나 우리가해야 할 소프트웨어 요구 때문에 그저 필요합니다.
희망이 도움이됩니다.
큰 보안 침해가 될 수 있습니다. 당신은 결코 그것을 할 수 없을 것입니다.
그러나 부모가 열어 준 하위 창을 닫을 수 있습니다. 부모 창과 함께 팝업 창을 열었을 때 같은 부모 창에 자식을 닫기위한 단추가있을 수 있다고 가정 해보십시오. 절대로 브라우저.
보안상의 이유로 기본 브라우저를 닫아야합니다.사용자가 시스템에서 로그 오프 한 후 브라우저가 자동으로 닫히도록해야합니다. – natch3z
http_auth 기반 인증을 사용한다고 가정 할 수 있습니까? 보안이 큰 문제인 경우 잠시 후에 세션이 만료되어야한다고 생각하면 세션을 유지하는 다른 방법을 고려해야합니다. 보안을 위해 해킹하려고 시도하고 있습니다! :) 그 반대의 방법으로하십시오. 해킹에 당신의 방법을 확보하십시오! ... – Frankie
보안을 구현하려는 시도가 브라우저의 기존 보안 기능에 의해 방해 될 때마다 기술을 재평가 할 수 있습니다. –
여기에서 문제의 일부는 질문에서 목표에 대해 분명하지 않다는 것입니다. Frankie의 답변에 대한 귀하의 의견을 통해, 실제로 창을 닫을 필요가 전혀없는 것처럼 보였습니다. 창에서 사용할 수있는 콘텐츠를 보호하기 만하면됩니다.
내가 추천 할 것입니다. 시간 초과가되면 페이지를 새로 고침하면 로그인 페이지로 리디렉션됩니다.
솔직히 말해서 사용자가 탭을 닫거나 다른 방법으로 찾아보기를 원하는 순간까지 사용자를 사이트에 두는 것이 좋습니다. 탭을 강제로 닫으려고하는 대신 안전하지 않아도되는 방문 페이지로 리디렉션하면됩니다.
불가능합니다. 좋은 이유로. – jantimon
다른 모든 인기있는 브라우저에서도 마찬가지입니다. 거친 행운의 동료. –
가짜 JavaScript 코드로 인해 모든 탭을 잃어 버리는 것을 싫어합니다! 다행히도 브라우저는 적어도 메인 윈도우에서이 작업을 금지합니다. 그런 일을하는 방법은 sooo XXth century! (브라우저 창에 한 페이지 만 표시되는 경우 ...) – PhiLho