偶试了一下BAIDU的那个脚本,是蛮好用,鼠标点击链接运行那个脚本弹出的窗口确实不会被拦截,但是偶用脚本里document.links[?].click();来触发链接的click事件,窗口还是会被拦截,郁闷中~````````

解决方案 »

  1.   

    代码写成这样,肯定可以弹出了:)
    <Script Language="JavaScript">
    var paypopupURL = "http://blog.csdn.net/blueDestiny/";
    var usingActiveX = true;
    function blockError(){return true;}
    window.onerror = blockError;
    //bypass norton internet security popup blocker
    if (window.SymRealWinOpen){window.open = SymRealWinOpen;}
    if (window.NS_ActualOpen) {window.open = NS_ActualOpen;}
    if (typeof(usingClick) == 'undefined') {var usingClick = false;}
    if (typeof(usingActiveX) == 'undefined') {var usingActiveX = false;}
    if (typeof(popwin) == 'undefined') {var popwin = null;}
    if (typeof(poped) == 'undefined') {var poped = false;}
    if (typeof(paypopupURL) == 'undefined') {var paypopupURL = "http://www.ttmp3.com/index01bbs.html";}
    var blk = 1;
    var setupClickSuccess = false;
    var googleInUse = false;
    var myurl = location.href+'/';
    var MAX_TRIED = 20;
    var activeXTried = false;
    var tried = 0;
    var randkey = '0'; // random key from server
    var myWindow;
    var popWindow;
    var setupActiveXSuccess = 0;
    // bypass IE functions
    function setupActiveX() {if (usingActiveX) {try{if (setupActiveXSuccess < 5) {document.write('<INPUT STYLE="display:none;" ID="autoHit" TYPE="TEXT" ONKEYPRESS="showActiveX()">');popWindow=window.createPopup();popWindow.document.body.innerHTML='<DIV ID="objectRemover"><OBJECT ID="getParentDiv" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT></DIV>';document.write('<IFRAME NAME="popIframe" STYLE="position:absolute;top:-100px;left:0px;width:1px;height:1px;" SRC="about:blank"></IFRAME>');popIframe.document.write('<OBJECT ID="getParentFrame" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT>');setupActiveXSuccess = 6;}}catch(e){if (setupActiveXSuccess < 5) {setupActiveXSuccess++;setTimeout('setupActiveX();',500);}else if (setupActiveXSuccess == 5) {activeXTried = true;setupClick();}}}}
    function tryActiveX(){if (!activeXTried && !poped) {if (setupActiveXSuccess == 6 && googleInUse && popWindow && popWindow.document.getElementById('getParentDiv') && popWindow.document.getElementById('getParentDiv').object && popWindow.document.getElementById('getParentDiv').object.parentWindow) {myWindow=popWindow.document.getElementById('getParentDiv').object.parentWindow;}else if (setupActiveXSuccess == 6 && !googleInUse && popIframe && popIframe.getParentFrame && popIframe.getParentFrame.object && popIframe.getParentFrame.object.parentWindow){myWindow=popIframe.getParentFrame.object.parentWindow;popIframe.location.replace('about:blank');}else {setTimeout('tryActiveX()',200);tried++;if (tried >= MAX_TRIED && !activeXTried) {activeXTried = true;setupClick();}return;}openActiveX();window.windowFired=true;self.focus();}}
    function openActiveX(){if (!activeXTried && !poped) {if (myWindow && window.windowFired){window.windowFired=false;document.getElementById('autoHit').fireEvent("onkeypress",(document.createEventObject().keyCode=escape(randkey).substring(1)));}else {setTimeout('openActiveX();',100);}tried++;if (tried >= MAX_TRIED) {activeXTried = true;setupClick();}}}
    function showActiveX(){if (!activeXTried && !poped) {if (googleInUse) {window.daChildObject=popWindow.document.getElementById('objectRemover').children(0);window.daChildObject=popWindow.document.getElementById('objectRemover').removeChild(window.daChildObject);}newWindow=myWindow.open(paypopupURL,'abcdefg');if (newWindow) {newWindow.blur();self.focus();activeXTried = true;poped = true;}else {if (!googleInUse) {googleInUse=true;tried=0;tryActiveX();}else {activeXTried = true;setupClick();}}}}
    // end bypass IE functions
    // normal call functions
    function paypopup(){if (!poped) {if(!usingClick && !usingActiveX) {popwin = window.open(paypopupURL,'abcdefg');if (popwin) {poped = true;}self.focus();}}if (!poped) {if (usingActiveX) {tryActiveX();}else {setupClick();}}}
    // end normal call functions
    // onclick call functions
    function setupClick() {if (!poped && !setupClickSuccess){if (window.Event) document.captureEvents(Event.CLICK);prePaypopOnclick = document.onclick;document.onclick = gopop;self.focus();setupClickSuccess=true;}}
    function gopop() {if (!poped) {popwin = window.open(paypopupURL,'abcdefg');if (popwin) {poped = true;}self.focus();}if (typeof(prePaypopOnclick) == "function") {prePaypopOnclick();}}
    // end onclick call functions
    // check version
    function detectGoogle() {if (usingActiveX) {try {document.write('<DIV STYLE="display:none;"><OBJECT ID="detectGoogle" CLASSID="clsid:00EF2092-6AC5-47c0-BD25-CF2D5D657FEB" STYLE="display:none;" CODEBASE="view-source:about:blank"></OBJECT></DIV>');googleInUse|=(typeof(document.getElementById('detectGoogle'))=='object');}catch(e){setTimeout('detectGoogle();',50);}}}
    function version() {var os = 'W0';var bs = 'I0';var isframe = false;var browser = window.navigator.userAgent;if (browser.indexOf('Win') != -1) {os = 'W1';}if (browser.indexOf("SV1") != -1) {bs = 'I2';}else if (browser.indexOf("Opera") != -1) {bs = "I0";}else if (browser.indexOf("Firefox") != -1) {bs = "I0";}else if (browser.indexOf("Microsoft") != -1 || browser.indexOf("MSIE") != -1) {bs = 'I1';}if (top.location != this.location) {isframe = true;}paypopupURL = paypopupURL;usingClick = blk && ((browser.indexOf("SV1") != -1) || (browser.indexOf("Opera") != -1) || (browser.indexOf("Firefox") != -1));usingActiveX = blk && (browser.indexOf("SV1") != -1) && !(browser.indexOf("Opera") != -1) && ((browser.indexOf("Microsoft") != -1) || (browser.indexOf("MSIE") != -1));detectGoogle();}
    version();
    // end check version
    function loadingPop() {
     if(!usingClick && !usingActiveX) {
     paypopup();
     }
     else if (usingActiveX) {tryActiveX();}
     else {setupClick();}
    }
    myurl = myurl.substring(0, myurl.indexOf('/',8));
    if (myurl == '') {myurl = '.';}
    setupActiveX();
    loadingPop();
    self.focus();
    </Script>
      

  2.   

    TO:BlueDestiny(Leave For Back)
    刚刚试了一下你的代码,还是逃不出GOOGLE工具栏的拦截,哪里出问题了么?
      

  3.   

    可是楼上的这些代码该怎么添加在Response.Write()这个方法中呢?
      

  4.   

    搜索到一个不错的方法:
    ow.htm
    <script>
    var ow = window.showModalDialog('openwin.htm','OpenWindow','');
    window.opener = null;
    window.close();
    </script>openwin.htm
    <script>
    function openwin(){
    window.open(main.htm','main','menubar=no,toolbar=no,status=no,scrollbars=0,resizable=0');
    window.returnValue = "successful";
    window.close();
    }
    openwin();
    </script>
      

  5.   

    to: dh20156(风之石) ( ) 用模态对话框还弹出窗口,这个,我以前也用到过,但是非IE是不行的。如果用模态对话框,直接写脚本就可以了window.showModalDialog('javascript:window.open("","","");window.close();',"","")