一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript 新浪背投廣告實現代碼

今天查看了下新浪的js代碼,發現一個背投的廣告類代碼,不論是從學習角度還是使用角度都是不錯的,但發現了一個問題,會被屏蔽的。
下面是具體的js類代碼
復制代碼 代碼如下:
/*
輪播背投類 RotatorPB v3.1
Update by Dakular <shuhu@staff.sina.com.cn> 2008-8-25
格式:new RotatorPB(廣告數組)
說明:第一次訪問隨機出現,以后訪問順序輪播;自動過濾過期廣告;cookie時間24小時;商業廣告數量不足時不顯示
*/
if(typeof(RotatorPB)!='function'){
    var RotatorPB=function (rad){
        this.ary = new Array();
        this.date = new Date();
        this.w = rad.width;
        this.h = rad.height;
        this.num = rad.num;
        this.o = rad.length;
        this.id = RotatorPB.id++;
        this.m = 'rpb_'+this.id;
        this.n = new Array();
        this.L = new Date();
        this.e = 0;
        var f;
        var D = false;
        var nn = 0;
        //過濾無效廣告
        for(var i=0; i<rad.length; i++){
            var start = RotatorPB.strToDate(rad[i][2].replace('<startdate>','').replace('</startdate>',''));
            var end = RotatorPB.strToDate(rad[i][3].replace('<enddate>','').replace('</enddate>',''),true);
            if(this.date>start && this.date<end && (this.num==null || this.ary.length<this.num) ){
                this.ary.push([rad[i][0], rad[i][1], rad[i][4]]);
            }
        }
        this.o = this.ary.length;
        //取id
        for(var i=0;i<this.o;i++){
            f=this.m+'_'+(i+1);
            g=RotatorPB.G(f);
            if(g!=''){
                this.n[i]=g;
                D=true;
            }else {
                this.n[i]=0;
            }
        }
        if(!D){
            var r=Math.ceil(Math.random()*this.o);
            var t=this.m+'_'+r;
            RotatorPB.S(t,this.L.getTime(),1440);
            this.e=r;
            if(this.o==1){RotatorPB.S('s_dl',r,1440);}
            //return r;
        }else {
            var R=this.n.join(',').split(',');
            var k=R.sort();
            var max=Number(k[k.length-1]);
            var min=Number(k[0]);
            var F;
            for(var i=0;i<this.n.length;i++){
                if(max==this.n[i]){
                    F=i+1;
                    break;
                }
            }
            if(typeof(F)!='undefined'){
                G=this.m+'_'+F;
                H=Number(RotatorPB.G(G));
                I=F%this.o+1;
                J=this.m+'_'+I;
                RotatorPB.S(J,this.L.getTime(),1440);
                if(this.o==1){
                    I=-RotatorPB.G('s_dl');
                    if(I==0){I=1;RotatorPB.S('s_dl',1,1440);}
                    RotatorPB.S('s_dl',I,1440);
                }
                this.e=I;
                //return I;
            }
        }
        //Show AD
        if(this.e==0 || this.ary.length==0) return; //如果沒有廣告則不顯示
        if(this.e==-1) return; //當只有一個廣告時:始終顯示第一個/奇數次刷新顯示
        var n = this.e-1;
        var btsrc = this.ary[n][0];
        var bturl = this.ary[n][1];
        var bttype = btsrc.substring(btsrc.length-3).toLowerCase();
        if(bttype=='.js'){ //js
            document.write('<script language="Javascript" type="text/Javascript" src="'+btsrc+'"></scr'+'ipt>'); return;
        }else if(bttype!='htm' && bttype!='tml'){
            sinabturl = "http://d1.sina.com.cn/d1images/pb/pbv4.html?"+bturl+"${}"+bttype+"${}"+btsrc;
        }else{
            sinabturl = btsrc;
        }
        try{
            aryADSeq.push("openWindowBack()");
        }catch(e){
            openWindowBack();
        }
        if(this.ary[n][2]!=""){ //監測計數
            var oImg = new Image();
            oImg.src = this.ary[n][2];
        }
    };
    RotatorPB.id=1;
    RotatorPB.G=function (N){
        var c=document.cookie.split("; ");
        for(var i=0;i<c.length;i++){
            var d=c[i].split("=");
            if(d[0]==N)return unescape(d[1]);
        }return '';
    };
    RotatorPB.S=function (N,V,Q){
        var L=new Date();
        var z=new Date(L.getTime()+Q*60000);
        document.cookie=N+"="+escape(V)+"; path=/; expires="+z.toGMTString()+";";
    };
    RotatorPB.strToDate = function(str,ext){
        var arys = new Array();
        arys = str.split('-');
        var newDate = new Date(arys[0],arys[1]-1,arys[2],9,0,0);
        if(ext){
            newDate = new Date(newDate.getTime()+1000*60*60*24);
        }
        return newDate;
    }
    var openWindowBack = function(){
        var popUpWin2 = open(sinabturl, (window.name!="popUpWin2")?"popUpWin2":"", "width=1,height=1,top=4000,left=3000");
    }
};


具體的調用代碼:
復制代碼 代碼如下:
<script src="rotator_pb.js"></script>
<SCRIPT language=Javascript type=text/Javascript>
//<![CDATA[
var rpb = new Array();
rpb.num = 2; //輪播數量
<!--2220E7B88D58-->//背投廣告創意
rpb.push(["http://img.jb51.NET/demo/images/beitou.jpg", "http://www.jb51.NET", "<startdate>2009-4-15</startdate>", "<enddate>2009-8-15</enddate>", ""]);
<!--$$ litong/2009-4-15 ~ 2009-8-15/B $-->
new RotatorPB(rpb);
//]]>
</SCRIPT>

上面的beitou.jpg是圖片的地址,后面的是鏈接, 開始日期 結束日期什么的大家參考下就可以了。

JavaScript技術javascript 新浪背投廣告實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 九九久久国产精品免费热6 九九久久精品 | 99精品国产兔费观看66 | 欧美成人亚洲国产精品 | 站长推荐国产精品视频 | 精品中文字幕久久久久久 | 国产在线播放91 | 大陆精品| 亚洲欧美日本在线 | 无遮挡一级毛片视频 | 久久九九精品视频 | 丁香六月婷婷综合激情动漫 | 欧美三级成人 | 伊人网在线播放 | 国产精品久久久久久久成人午夜 | 国产系列欧美系列日韩系列在线 | 91黄色在线观看 | 中日韩新区 | 美女毛片在线观看 | 9191在线精品播放 | 国产亚洲婷婷香蕉久久精品 | 久久精品国产99国产精品 | 男人女人黄 色视频免费 | 97青草最新免费精品视频 | 国产亚洲欧美一区二区三区 | 亚洲手机国产精品 | 国产一区二区在线视频 | 国内精品福利在线视频 | 成年女人免费v片 | 99热成人精品国产免国语的 | 国产69成人免费视频观看 | 国内精品小视频福利网址 | 色狠狠一区 | 国产成人美女福利在线观看 | 亚洲www| 日本午夜精华 | 影音先锋在线亚洲精品推荐 | 在线色网| 玖玖成人| 成人在线播放视频 | 九九久久99综合一区二区 | 国产成人亚洲精品影院 |