过期域名预定抢注

用戶名  找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-6-2 16:56:20 | 顯示全部樓層 |閱讀模式
首先,要把以下代碼存為cookies.js 在htm頁中調用!# z1 c6 N6 v; F5 ~$ i) t. m0 m

% h- F4 y! Z) S, K, r此為JS代碼A:
$ D) J4 x& r- i; U+ f
( C2 t0 L% I1 W2 \9 J' mfunction setCookie(name,value,days){3 }7 W7 z, Y: m0 x
        var exp=new Date();
3 F7 x8 p+ a5 ~6 d        exp.setTime(exp.getTime() + days*24*60*60*1000);
" h9 z/ \% m) H        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));7 A! d  {& s6 |/ t6 y" d6 G+ J
        document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();1 ?3 o' J* ~! s
}# D* p! d5 R. H1 U* |
function getCookie(name){
( l" m8 I% o& p! D: x$ b. U' R        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
0 g) L5 D8 d1 K5 u        if(arr!=null){- `$ q' l5 r+ C0 S8 [) u
                return unescape(arr[2]);
: V; H4 ]) f- ?8 ~& ]                return null;
0 m3 ]* u* ~* g        }
. i% `. E; C& Z! d' ^) _: @}
& q: N, B' m8 Lfunction delCookie(name){% G+ j2 \- Y2 a3 \0 y
        var exp=new Date();/ y  t% o) Q- k+ {5 G4 |- s! U
        exp.setTime(exp.getTime()-1);
3 T* e& h! w/ `) q* t        var cval=getCookie(name);
- S2 u  G4 n+ V" B% {3 f        if(cval!=null){
, M; r8 W; P& I5 {& ^% i' ^                document.cookie=name+"="+cval+";expires="+exp.toGMTString();% r' V5 p/ t0 a  c2 I
        }$ R% W8 r# W1 d) ~' O8 G( z
}
& O& i3 t4 c$ X3 n以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了6 K) J6 G; e: `$ X4 ]- V9 a4 s

2 k. \/ ]' l( x  F4 u3 ]9 q
$ [( h8 H1 N0 w2 V6 QMJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B% @5 m6 o* S% T/ S. L7 [4 `& L1 @% Z6 T
<script src="cookies.js"></script><script src="patch.js"></script>
. Y8 p% m% A( L; m4 E注意路徑問題,這個就不多說了8 E5 `8 e: N6 g; G

- E; K; [0 [* x此為JS代碼B  Z( W/ p% {( }5 k; R

* m# w& a) D8 o. h" g" Sfunction out(){
; T' N" u: U/ a        if(getCookie("out")!="yes"){- ~4 X7 k9 m2 ~  x- j
                setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');& u, A/ O& h$ l! I* w. q' I+ v
        }
1 t5 f$ w* a* `}/ r( i1 D& Y8 w: G
out();- ^2 B; E! T% s$ T
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
/ _9 C% |9 _# u' d) h7 T- D然後再運行你的JS代碼
* ]1 c7 `1 J& h/ |" C7 j. \0 _) n& K. Z# u7 @
至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了6 ]0 H* Q5 p4 K+ l  {" x( f# `% L2 x

2 M, D# ~# \  p" E$ v* j  r3 Q( q補充:* W3 L7 ?8 x5 A$ S" u- e
' g4 e; a# n. i4 O* [1 @$ K
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?4 y: Z' B0 _9 C( h7 O$ k7 s$ u
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了
3 E. x1 m3 a3 m: ]8 z , e& X" e5 W( [1 y0 i
舉個例子 3 }- H% x/ A* `* J. b5 Q
function out1(){
3 Z& y; V0 B  Q0 T4 O+ M        if(getCookie("out1")!="yes"){& }( E, M, [+ ~. x$ q" i8 ]" t
                setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');% ~8 I" ?* K3 \( p* t# J9 ^* S  ^, L6 L
        }2 N2 P7 K" ~5 k4 _7 G% r+ H2 b
}
# @, q: m& i) G! M/ dout1();
4 X, J3 p" Q( f3 {, ?# C9 f: F) z! T* {
5 m. j5 ^2 Q% p
$ t* W3 M8 @' @) L4 _4 E0 |
function out2(){
3 H: ]2 z" Q; J        if(getCookie("out2")!="yes"){1 m" j  l+ b& ~, w
                setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');6 H3 I1 K8 d* I& p5 m) j
        }
5 k3 p  F0 s4 v: H4 F/ v}[
% g6 d/ D9 J/ C3 n# |/ ^: ~out2();5 C, t, O( J% i* a; m
依次類推
發表於 2009-6-2 19:11:34 | 顯示全部樓層
收藏了 挺實用的代碼 呵呵
回復 给力 爆菊

舉報

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

舉報

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

舉報

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

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-5-15 19:33

By DZ X3.5

小黑屋

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