用COOKIES,完全可以做到。我觉得技术上应该没有什么问题,只是我现在要工作,写代码这种没有钱的事,我不会再做了。

解决方案 »

  1.   

    同IP来判断并不科学  比如局域网多用户访问  就会有问题你不如把弹出记录放在cookie中 设置超时时间为次日凌晨A弹出就记录A在cookie中表示已弹出然后就判断B、C是否在cookie中来决定是否弹出B、C
      

  2.   

    在弹出广告后用JS保存COOKIES弹出页面和弹出的广告。COOKIES有限时间为24个小时。然后其他页面用JS完成处理。
      

  3.   

    <script>
    function getCookieVal(offset)
    {
    var iEndStr=document.cookie.indexOf(";",offset);
    if(iEndStr==-1)
    iEndStr=document.cookie.length;
    return unescape(document.cookie.substring(offset,iEndStr));
    }
    function getCookie(name)
    {
    var strArg=name+"=";
    var iArgLength=strArg.length;
    var iCookieLength=document.cookie.length;
    var iIndex=0;
    while(iIndex<iCookieLength)
    {
    var kIndex=iIndex+iArgLength;
    if(document.cookie.substring(iIndex,kIndex)==strArg)
    return getCookieVal(kIndex);
    iIndex=document.cookie.indexOf(" ",iIndex)+1;
    if(iIndex==0)
    break;
    }
    return null;
    }
    function setCookie(name,value)
    {
    var strArgValue=setCookie.arguments;
    var iArgLength=setCookie.arguments.length;
    var expires=(2<iArgLength)?strArgValue[2]:null;
    var path=(3<iArgLength)?strArgValue[3]:null;
    var domain=(4<iArgLength)?strArgValue[4]:null;
    var secure=(5<iArgLength)?strArgValue[5]:false;
    document.cookie=name+"="+escape(value)+((expires==null)?"":(";expires="+expires.toGMTString()))+
    ((path==null)?"":(";path="+path))+((domain==null)?"":(";domain="+domain))+
    ((secure==true)?";secure":"");
    }
    //getCookie(document.all.cookieName.value);值
    </script>
    <input text value="Cookie名" disabled style="border:0px solid"><input type=text id="cookieName" style="border:1px solid"><br>
    <input text value="Cookie值" disabled style="border:0px solid"><input type=text id="cookieValue" style="border:1px solid"><br>
    <br>
    <input type=button value="设置Cookie" onclick="setCookie(document.all.cookieName.value,document.all.cookieValue.value)">
    <input type=button value="取值Cookie" onclick="window.confirm(getCookie(document.all.cookieName.value))">
    <br>
      

  4.   

    gjd111686这位老兄,你的这段代码我曾经看到过,但是我不知道该如何来使用?我对JS确实不太明白,还请赐教!
      

  5.   

    上面的代码是介绍JS怎么操作COOKIES
      

  6.   

    <script language="javascript" id="starwu"></script>
    <script language="JavaScript">
    var adsrc = new Array(); //用数组定义广告src
    var adnum = new Array(); //用数组定义广告弹出次数
    adsrc[0] = "http://www.unionsky.cn/script/js.asp?group_id=158";
    adnum[0] = 1;
    adsrc[1] = "http://union.265.com/ad_code/openwin/1006.php";
    adnum[1] = 1;
    function setCookie(name,value) {
        var Days = 1; //此 cookie 将被保存 1 天
        var exp  = new Date();
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        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;
    }
    if (getCookie("adweb")==null) {
    setCookie("adweb",document.location);
    setCookie("adnum",1);
    document.all["starwu"].src = adsrc[0];
    } else {
    var num = parseInt(getCookie("adnum"));
    var sum = 0;
    var i;
    var open;
    for (i in adnum) {
    sum += adnum[i];
    }
    if (num < sum) {
    var ad = getCookie("adweb").split(" ");
    for (i in ad) {
    if (ad[i] == document.location) {
    open = true;
    break;
    }
    }
    if (!open) {
    num = num + 1;
    var opennum = 0;
    while (num != opennum) {
    for (i in adnum) {
    if (adnum[i] > 0) opennum += 1;
    if(opennum == num) {
    setCookie("adweb",ad.join(" ") + " " + document.location);
    setCookie("adnum",num);
    document.all["starwu"].src = adsrc[i];
    alert(adsrc[i]);
    alert(num);
    break;
    }
    }
    }
    }
    }
    }
    </script>
      

  7.   

    document.write ('<script language="javascript" id="starwu"></script>');
    var adsrc = new Array(); //用数组定义广告src
    var adnum = new Array(); //用数组定义广告弹出次数
    adsrc[0] = "http://www.unionsky.cn/script/js.asp?group_id=158";
    adnum[0] = 1;
    adsrc[1] = "http://union.265.com/ad_code/openwin/1006.php";
    adnum[1] = 1;
    adsrc[2] = "http://3.ads99.net/fly.php?userid=xxsy";
    adnum[2] = 1;
    function setCookie(name,value) {
        var Days = 1; //此 cookie 将被保存 1 天
        var exp  = new Date();
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        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;
    }
    var num = getCookie("adnum");
    var ad = getCookie("adweb");
    if ((num == null) || (ad == null)) {
    num = 1;
    ad = new Array(" ");
    } else {
    num = parseInt(getCookie("adnum")) + 1;
    ad = getCookie("adweb").split(" ");
    }
    for (var i in ad) {
    if (ad[i] == document.location) {
    open = true;
    break;
    }
    }
    if (!open) {
    var open = 0;
    for (i=0; i<num; i++) {
    for (var s in adnum) {
    if (adnum[s]-i >= 1) {
    open = open + 1;
    if (open==num) {
    setCookie("adweb",ad.join(" ") + document.location + " ");
    setCookie("adnum",num);
    document.all["starwu"].src = adsrc[s];
    }
    }
    }
    }
    }
      

  8.   

    starwu(星沉海底) 兄:
      非常感谢你的帮助.我使用下来还是老问题:
      第一:第一条广告可以顺利执行,而后面的广告似乎仍然不执行!
      第二:设置的广告次数也还是不起作用!
      备注:第一条和第二条广告都是弹出窗口,第三个广告是一个漂浮广告!  我不知道你有没有实际测试一下?
      

  9.   

    我试过了,除了第二条本身不能弹出广告,以外,第三条广告都是可以的。还有,一个URL只弹出一个窗口,你测试的时候先清空COOKIE,然后一个窗口一个窗口试,比如第一个窗口是http://www.xxx.com/a.htm
    第二个窗口可以是:http://www.xxx.com/a.htm?temp=star1
    第三个窗口是: 第二个窗口可以是:http://www.xxx.com/a.htm?temp=starwu2
      

  10.   

    惨了惨了!
    当我清空COOKIE后,访问第一个页面IE状态栏出现"网页代码错误:的提示,不过网页还能显示出来,可惜继续访问第二个页面时,IE进程居然死掉了!我反复测试了10次以上,一模一样的现象!
      

  11.   

    IE版本是什么?我在XP+IE6.0 是正常的!
      

  12.   

    我的XP,98下分别测试,IE版本都是6.0,测试结果是一样的