1

자바 스크립트 코드로 팝업 차단기 탐지에 관한 많은 게시물을 읽었으나 지금 당장 가지고있는 문제에 대한 답변을 찾을 수 없습니다.팝업 차단기 IE8 및 보안 영역

대상 URL이 외부 웹 사이트이고 브라우저 (IE8)가 창 객체에 대한 액세스를 차단하거나 팝업 창이 열리더라도 javascript 코드 window.open()이 null을 반환하는 경우 문제가 발생합니다. 반대로 사이트의 로컬 페이지의 경우 javascript는 window 객체를 반환합니다.

따라서 인터넷 옵션의 어딘가에 열린 창 핸들러를 가져 오는 보안 설정이있는 것 같습니다. 어떤 경우에는, 사람이 자바 스크립트로 그것을 감지하는 방법을 알고 있습니까?

다음 그것을 이 상황을 감지하지 수 내가 사용하고 코드입니다 : 내가 IE8에서 테스트 할 때

var popup = window.open("http://www.externalsite.com&param1=value1", "_blank", ""); 
if (!popup) { 
alert('Cannot preview this page because pop-ups are blocked by your browser'); 
} else { 
if (popup != null) { popup.focus(); } 
} 

답변

1

존 및 무결성 레벨을 교차하는 창을 열면 (예 : 인트라넷 페이지 실행 Medium에서 인터넷 페이지가 낮은 상태로 실행됩니다. 또는 낮음에서 실행되는 인터넷 사이트가 중간에서 실행되는 신뢰할 수있는 사이트를 열 때) 이런 일이 발생할 수 있습니다. 팝업 차단기와는 아무런 관련이 없습니다.

1

다음 코드는

function detectPopupBlocker() { 
     var test = window.open(null,"","width=100,height=100"); 
     try { 
       test.close(); 
       alert("Pop-ups not blocked."); 
     } catch (e) { 
       alert("Pop-ups blocked."); 
     } 
} 

// Created by: Simon Willison 
// http://simon.incutio.com/archive/2004/05/26/addLoadEvent 
function addLoadEvent(func) { 
    var oldonload = window.onload; 
    if (typeof window.onload != 'function') { 
    window.onload = func; 
    } else { 
    window.onload = function() { 
     if (oldonload) { 
     oldonload(); 
     } 
     func(); 
    } 
    } 
} 

addLoadEvent(detectPopupBlocker); 

코드 http://javascript.internet.com/snippets/popup-blocker-detection-2.html 여부에 발견 작동을 Nick 만든