如何用COOKIES控制 广告只显示一次 包括弹窗等任何广告

[复制链接]
查看: 1861   回复: 3
发表于 2009-6-2 16:56:20 | 显示全部楼层 |阅读模式
首先,要把以下代码存为cookies.js 在htm页中调用!

此为JS代码A:

function setCookie(name,value,days){
        var exp=new Date();
        exp.setTime(exp.getTime() + days*24*60*60*1000);
        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
        document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
}
function getCookie(name){
        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
        if(arr!=null){
                return unescape(arr[2]);
                return null;
        }
}
function delCookie(name){
        var exp=new Date();
        exp.setTime(exp.getTime()-1);
        var cval=getCookie(name);
        if(cval!=null){
                document.cookie=name+"="+cval+";expires="+exp.toGMTString();
        }
}
以上代码就是读写cookies的函数,这个你不需要看懂,只要知道怎么用就行了


MJJ们再看如下JS代码,把这个代码存为pacth.js 在同一个网页内调用,注意先调用JS代码A,再调用JS代码B
<script src="cookies.js"></script><script src="patch.js"></script>
注意路径问题,这个就不多说了

此为JS代码B

function out(){
        if(getCookie("out")!="yes"){
                setCookie("out","yes",1);document.write('此处放置你的js代码-标注1');
        }
}
out();
此上代码,是调用cookies中的函数,来判断名为out的cookies是否已经存在,如果不存在,则,设置此cookies为YES
然后再运行你的JS代码

至此,如果你再刷新页面的话,次名为OUT的COOKIES已经存在了,就不会再运行标注1的代码了

补充:

如果我要设置一个弹窗,还有多个需要设置时间的代码怎么办?
那就把function out() 这个out函数重新命名,就又可以多设置一个可控制时间的函数了

举个例子
function out1(){
        if(getCookie("out1")!="yes"){
                setCookie("out1","yes",1);document.write('此处放置你的js代码1-标注1');
        }
}
out1();



function out2(){
        if(getCookie("out2")!="yes"){
                setCookie("out2","yes",1);document.write('此处放置你的js代码2-标注1');
        }
}[
out2();
依次类推
发表于 2009-6-2 19:11:34 | 显示全部楼层
收藏了 挺实用的代码 呵呵
回复 支持 反对

使用道具 举报

发表于 2009-6-3 08:14:26 | 显示全部楼层
不错的,谢谢,收藏!!!!!!
回复 支持 反对

使用道具 举报

发表于 2009-10-26 17:55:39 | 显示全部楼层
强大,顶起
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则