过期域名预定抢注

 找回密碼
 免费注册

如何用COOKIES控制 廣告只顯示一次 包括彈窗等任何廣告

[複製鏈接]
發表於 2009-6-2 16:56:20 | 顯示全部樓層 |閱讀模式
首先,要把以下代碼存為cookies.js 在htm頁中調用!5 G0 Q/ j0 m+ d% g" c+ r* }5 Q( H' H# s

* w2 S( B) ?/ c2 b" N0 f1 }; N- C此為JS代碼A:
6 q) D- [6 Q* D) u% O
' y: u9 V- I5 Nfunction setCookie(name,value,days){
$ t1 c6 N- ?- M8 E! ?7 C# X/ D        var exp=new Date();
5 E" J. a& N0 X! p3 @        exp.setTime(exp.getTime() + days*24*60*60*1000);
1 B/ P7 A7 i4 K2 W        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));1 |' G# z# J, f
        document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
) b3 P! P' ^/ W7 G9 H}
/ o8 ~! C, i; s& ^5 c( vfunction getCookie(name){. g  F4 d9 u8 c( K8 M. G
        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));) a6 E5 M* n. z5 j  k5 `
        if(arr!=null){, w& x9 T  {% T3 L
                return unescape(arr[2]);
( y7 L0 Y9 ]! O# J: K: j. }                return null;; e. }' ]4 y7 @
        }0 q! T* D- m1 O
}/ a3 b' e/ U2 \- @+ H; U
function delCookie(name){' T' W( ^% C( k8 J
        var exp=new Date();
$ j5 t% f$ o- L0 V2 V" T        exp.setTime(exp.getTime()-1);
. `5 i; `, T& n. z4 Y6 L        var cval=getCookie(name);
5 z$ k6 K" N: A        if(cval!=null){6 A9 I% F% T+ w6 ?" a' |
                document.cookie=name+"="+cval+";expires="+exp.toGMTString();
$ ]- u/ O  C- p( C# z4 Z        }& n( z( m8 h" {
}$ E$ @' ~1 w0 Z; o8 }3 }
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
7 |/ N" f2 G6 ^7 b' @1 ]: e% y7 H

8 y8 D% t  y+ v. i2 [9 A' E3 wMJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
! A3 e. P3 ^- z# Q<script src="cookies.js"></script><script src="patch.js"></script>
% P  t) e9 A# v5 O0 \注意路徑問題,這個就不多說了6 b( Y4 g5 s4 e
6 n3 K9 P6 A# B8 u
此為JS代碼B
2 T0 E, |& z" ^2 P- `% o7 y5 x! w
, p/ V: D. f1 J& ]& x* ffunction out(){
% F) {% z' l1 m# h2 k        if(getCookie("out")!="yes"){
; }- L/ X" X. ]. l& [                setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');2 p! h) s# _7 d9 H( l' o
        }" c2 @5 j4 _# h$ @4 G$ I) {( z
}, o, L* `5 d$ `+ F7 ?/ @9 i
out();
. u6 J. ^; k. V2 _% s此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
$ ~. |) ^  \! M; Z) h然後再運行你的JS代碼
" ]$ [+ |% A+ A. F
$ T) A/ S7 a9 V至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了- Y( K6 c& k6 s! E6 x' g
( z# ]+ X5 f4 z! W1 h) d
補充:
. A4 P4 }( q0 K6 U, P. z3 n2 Y. F0 P9 c% U. B* W
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?: k# e5 k' l3 o) ?; U
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了+ M6 h  H6 x6 K2 f/ W
' p  ^; l' O2 S; j
舉個例子
' k. k* l7 s) ffunction out1(){  }' f' N5 B8 c' c
        if(getCookie("out1")!="yes"){( R! y1 E. l) {# `2 O5 C
                setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');
2 o! E( v1 g5 D9 B  G        }
" S! t' R( s% F) i) X4 j3 ]}
: ^1 @# k; Z6 n' q' Oout1();
! k5 c% s: J8 a' B8 [! w% q0 E% n* D! F2 B9 N- T/ Q% f" S! R) n
$ Y3 [4 C5 L% L

4 W3 J- [$ u5 n0 efunction out2(){2 D+ B. o  F4 G- u% B
        if(getCookie("out2")!="yes"){: e4 V1 L: d7 z0 \: e
                setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');
; G- P" i: _8 \0 v        }
( v2 z& Q. R$ z  A0 {}[
* \$ E+ A/ o7 f/ a8 `out2();* R6 O% i8 V% C) X6 j3 \, y
依次類推
發表於 2009-6-2 19:11:34 | 顯示全部樓層
收藏了 挺實用的代碼 呵呵
回復 给力 爆菊

使用道具 舉報

發表於 2009-6-3 08:14:26 | 顯示全部樓層
不錯的,謝謝,收藏!!!!!!
回復 给力 爆菊

使用道具 舉報

發表於 2009-10-26 17:55:39 | 顯示全部樓層
強大,頂起
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

4um點基跨境網編創業社區

GMT+8, 2024-11-24 06:50

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表