最近需要用到,所以找了一下,不过网上放出来的代码尝试了个遍基本失效,最后找了个小说站直接扒了,不过也有一定局限性,比如只支持IE,代码中其他浏览器相关代码被我去掉了,因为它只是覆盖一层div来点击弹窗,IE的话除了IE11未测试,其他IE6-10都可以正常弹窗。
另外说下,代码原本写的看着就这么纠结,又经过我一番删减,出现一些排版混乱是正常现象。
var _redy_webkit=0;
;(function(){
var d=navigator.userAgent;var a={};
a.ver={
ie:/MSIE/.test(d),
ie6:!/MSIE 7\.0/.test(d)&&/MSIE 6\.0/.test(d)&&!/MSIE 8\.0/.test(d)&&!/MSIE 9\.0/.test(d),
oldie:/MSIE 6\.0/.test(d) || /MSIE 7\.0/.test(d) || /MSIE 8\.0/.test(d),
tt:/TencentTraveler/.test(d),
i360:/360SE/.test(d),
webkit:/WebKit/.test(d),
chrome27:/chrome\/([0-9]*)\./.test(d.toLowerCase())&&!/mobile/.test(d.toLowerCase()) ? (parseInt(/chrome\/([0-9]*)\./.exec(d.toLowerCase())[1]) > 26 ? true : false) : false,
cr: /Chrome/.test(d),
sf: /Safari/.test(d),
op: /Opera/.test(d),
sg: /MetaSr/.test(d)&&/WebKit/.test(d),
mt: /Maxthon/.test(d)&&/WebKit/.test(d),
mtie: /Maxthon/.test(d)&&/IE/.test(d),
mobile: /android/.test(d.toLowerCase())||/juc/.test(d.toLowerCase())||/iphone/.test(d.toLowerCase())||/ipod/.test(d.toLowerCase())||/ipad/.test(d.toLowerCase())||/iemobile/.test(d.toLowerCase())||/windows phone/.test(d.toLowerCase()),
gg:window.google&&window.chrome,
_v1:'<object id="_pp_CIS0516_qy01" width="0" height="0" classid="CLSID:6BF5'+'2A52-394'+'A-1'+'1D3-B15'+'3-00'+'C04F'+'79FAA6"></object>',
_v2:'<object id="_pp_CIS0516_qy02" style="position:absolute;left:1px;top:1px;width:1px;height:1px;" classid="clsid:2D'+'360201-FF'+'F5-11'+'d1-8D0'+'3-00A'+'0C95'+'9BC0A"></object>'
};
if(a.ver.ie||a.ver.tt){
document.write(a.ver._v1);
document.write(a.ver._v2);
}
a.fs=null;a.fdc=null;a.kd=null;a.ah=null;a.ad=null;
a.w=0;a.h=0;
a.url=null;a.reurl=null;
a.init=function(){};
a.uinit=function(){};
a.wopen=function(c,e,f){
var b='height='+f+',width='+e+',left=0,top=0,toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes';
if(a.ver.sg || a.ver.mt) var j='window.open("/", "_blank", "'+b+'")'; else if (!a.ver.mtie) var j='window.open("'+c+'", "_blank", "'+b+'")';
var m=null; try{m=eval(j)}catch(q){}
if(m){
if(a.ver.sg || a.ver.mt) m.location.href=c;
try{
m.blur();
window.focus();
m.focus();
}catch(q){}
return m;
}
var i=this, j=false;
if(a.ver.ie||a.ver.tt) {
document.getElementById("_pp_CIS0516_qy01");document.getElementById("_pp_CIS0516_qy02");
var obj=document.getElementById("_pp_CIS0516_qy02");
if (!obj) return;
var wPop=null;
try{var wPop=obj.DOM.Script.open(c,"_blank",b);}catch(q){}
if (wPop){
try{
wPop.blur();window.focus();wPop.focus();
}catch(q){}
return true;
}
try{
document.getElementById("_pp_CIS0516_qy01").launchURL(c);
return true;
}catch(q){}
}
return false;
}
a.open=function(c,d,e,f){
if(c){a.url=c;}if(d){a.reurl=d;}
e=e>1?e:window.screen.width; f=f>1?f:window.screen.height;a.w=e;a.h=f;
if (a.timeid==0) a.timeid=setInterval(a.init, a.ver.oldie ? 15 : 5);
if (!a.ver.gg && !a.ver.cr && !a.ver.op && !a.ver.sg && !a.ver.mt && !a.ver.sf && !a.ver.chrome27) {
if (a.wopen(a.url,a.w,a.h)){
a.uinit();
return;
}
}
};
if (!window.__qy_pop_up) window.__qy_pop_up=a;
})();
//begin pop_up
var qy_CIS0516_url = 'http://www.baidu.com/';
var qy_reCIS0516_url = 'http://www.baidu.com/';
_reqqyp=1;
__qy_pop_up.open(qy_CIS0516_url, qy_reCIS0516_url);
最后,原本准备到起点去扒的,不过文件太多看着头晕,所以没去了。
另外吧测试代码(点击下载)也放出来吧,因为我在找代码的时候,都留个代码片段,还得我贴贴补补测试。
转载请注明: 本文《弹窗代码》来源于bstaint的博客
没有评论:
发表评论