弹窗代码

最近需要用到,所以找了一下,不过网上放出来的代码尝试了个遍基本失效,最后找了个小说站直接扒了,不过也有一定局限性,比如只支持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的博客

没有评论: