淘宝首页的JS弹出广告window.open

无意中见到淘宝的弹出广告,心里嘀咕,现在弹窗不是大都被浏览器给屏蔽了么?

查看源码,找到一串JS代码,不知道是淘宝故意的还是咋的,那段JS没有格式化,看了一半看不下去了,找了个格式化JS的工具JS Code Improver

找到其中弹窗的那块:

FP.popupAD=(function()
{
var d=YAHOO.util.Dom,a=YAHOO.util.Event;
var g="_tb_defaultbackpop_", e="http://www.taobao.com/promotion/defaultbackpop.html";

var c=function()
{
var j=new Date();
var k=j.getHours()*3600+j.getMinutes()*60+j.getSeconds();
var m=24*3600;
var l=m-k;
var i=(function()
{
var n=TB.bom.getCookie(g)||0;
n>3?n=3:n=parseInt(n)+1;
return n
})();
.bom.setCookie(g,i,l/m,TB.bom.pickDocumentDomain(),"/")
};

var b=function()
{
var i=window.open("about:blank","_backad","width=760,height=480,toolbar=no,location=no,directories=no,status=yes,resizable=no,scrollbars=no");
i.blur();
i.opener.focus();
i.location=e
};

var f=function()
{
try
{
b()
}
catch(i)
{
a.on(document,"click",h)
}
finally
{
c()
}
};

var h=function(i)
{
try
{
var k=a.getTarget(i);
if(k.id==="header"||d.isAncestor("header",k)||Array.indexOf(["input","select","option","button"],k.nodeName.toLowerCase())!=-1)
{
return
}
}
catch(j)
{
}
a.removeListener(document,"click",arguments.callee);
try
{
b()
}
catch(j)
{
}
};

return
{
init:function()
{
a.on(window,"load",function()
{
var i=TB.bom.getCookie(g)&1;
if(i==1)
{
return
}
setTimeout(f,2000)
}
)
}
}
}
)();

FP.popupAD.init();


主要功能看了基本也就明白:
1、默认弹出pop
2、如果被拦截了,触发鼠标的click事件,然后弹出
3、弹出后设置本地cookie,一天只弹出一次,即有了弹窗的广告效果,又不会让用户感到厌烦,果然是够人性化

本人JS水平不行,以上代码只是大概看懂,或许理解有误。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值