1、“<”和“>”改为<和> 2、换行和缩进。 3、因为编码方面的问题,原来的代码始终提示“DATA="' + myurl + '/p”这里有错误。在DW的源代码中是前面的样子,在高度页面的时候就变成了“DATA="' myurl '/p”,也就是说里面的两个“+”活生生的没有了!反复测试多次之后,我把页面的编码换成GB2312,总算解决了这个问题。 4、有个地方(见下面)出现乱码,我到引用的页面上也看不出来是什么,我只好改成了“00”。其实它是什么无关紧要,根据程序的功能和源作者注释,可以看得出来这里是要程序员在服务器端生成一个随便数,并写在这里。其它完全可以用JS自己生成。 var randkey = '0'; // random key from server 所以这个地方,还请高手指正!
经过一番努力,代码终于调试通过了,IE无法拦截的弹出窗口!
下面是修正之后的代码。
<Script Language="JavaScript"> //var paypopupURL = "http://xpnew.blog.163.com";//这里用我的博客测试 var usingActiveX =true; function blockError()...{returntrue;} 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://blog.csdn.net/xpnew";}//备用的链接地址 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 ='00'; // 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); }elseif (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; }elseif (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'; }elseif (browser.indexOf("Opera") !=-1) ...{ bs ="I0"; }elseif (browser.indexOf("Firefox") !=-1) ...{ bs ="I0"; }elseif (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(); } elseif (usingActiveX) ...{tryActiveX();} else...{setupClick();} } myurl = myurl.substring(0, myurl.indexOf('/',8)); if (myurl =='') ...{myurl ='.';} setupActiveX(); loadingPop(); self.focus(); </Script>