过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-6-2 16:56:20 | 顯示全部樓層 |閱讀模式
首先,要把以下代碼存為cookies.js 在htm頁中調用!
) {: T8 Y' b! g. _
* @3 ?' Q5 Z- s! M( D8 F此為JS代碼A:- J, N* I- y& B& Q. J' f

2 v) i! r) w% D$ [! Sfunction setCookie(name,value,days){
! B" u  Z7 e, Q( A# {1 p3 n% Q( d        var exp=new Date();6 J4 O5 V' ~4 ^; z
        exp.setTime(exp.getTime() + days*24*60*60*1000);/ s) |4 T5 c0 u5 R/ A) J
        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
8 o' @7 q- Z: b7 k0 T7 u        document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();) D8 e3 ]1 i7 T5 D
}
% s& A! u  s  I% E; I0 J- Vfunction getCookie(name){
' d  x$ m$ I' d: V        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
7 }! I3 _3 @9 b& _: s2 {, @' V7 H        if(arr!=null){3 [) i7 q% ^8 p- E( Q* J
                return unescape(arr[2]);+ T* f/ [! _  }1 L& C; A( u9 X  y
                return null;' u8 D5 }2 ?0 L4 r( g: f4 ], l
        }
* D( S! E0 _5 s& t( g- q* w}% A& t8 F; ?& E+ K7 Y) T
function delCookie(name){
2 ?! G& h9 C/ }2 [+ T7 S9 y0 c        var exp=new Date();
% w* l0 r6 ]* x7 K" m+ I" @        exp.setTime(exp.getTime()-1);
* r- G. }) h' m1 R; Z- i! E8 E        var cval=getCookie(name);
3 I9 H; `3 U9 F1 j* ?- R        if(cval!=null){
( i2 H3 |+ q& u9 G' q# U* D                document.cookie=name+"="+cval+";expires="+exp.toGMTString();" `$ q, ^% b) W; k1 L# o/ E5 z
        }* p) K( R/ V) p% K# B' r, e- r
}' g1 Y- O% D( V6 L! l
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
& I) `, V' u0 k  |, [3 S
* b' |9 x' j6 o3 u6 N, w9 @" H. s2 C8 I
MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
( J, N( H1 l* c' T. E. ~<script src="cookies.js"></script><script src="patch.js"></script>
1 u( A4 l7 i, |- q4 o6 h注意路徑問題,這個就不多說了
3 W/ q6 {' _+ H2 |- F$ V! v; S8 z. A& W- k* g
此為JS代碼B* i8 E2 I2 n5 q1 D* {3 \

% t: R  ]& Z8 b& w! P8 Ofunction out(){
; W6 L* _2 |2 C! D, ?- s1 X        if(getCookie("out")!="yes"){
$ U/ `& U1 k; {$ `8 e' K! q, P                setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');2 ~; \4 p" O5 S( W. j3 A! W" M
        }- g$ F2 n0 K1 X2 @- w! X4 t
}
  U7 {$ b% m' x& kout();  c: e7 P+ {6 W# J
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES, A) `6 p' G+ [, E* e# S2 e
然後再運行你的JS代碼2 X+ y( U' v2 R
: S5 D+ }. q0 P5 e5 b
至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了
- V1 b: T) ?" d/ P$ Z: m' q4 r& g+ w+ B1 B) m5 r, j9 I9 r# J
補充:
/ r" q' }/ \- U7 Q8 ]3 T* q0 f4 t# Z5 N
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?% y; N: J2 V# K% o7 n# F- P6 a
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了, W1 u/ [2 P/ q: j
2 L: o& s7 w6 C6 N* N: W) U* v
舉個例子 5 K7 q+ g5 x& \3 `: R2 H/ @# ?
function out1(){% C" Z; D- I2 n5 ~' U' L1 N, m
        if(getCookie("out1")!="yes"){
7 v/ n; B9 s# \; S% [2 l                setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');: A6 b/ h# J% L$ c2 K) T; f/ k
        }
6 j3 {. u3 _" O}" i4 Q: O. t# C  S/ z2 e# u( F
out1();) V* f7 O* L$ U/ K
- i& [$ Q) B7 w7 t
' v: _% W6 Q0 ^' F
& l" Q( A' N5 l
function out2(){  f. S. u$ Y4 h; @1 r0 }, }
        if(getCookie("out2")!="yes"){
# j' P8 ^) N6 \" S- U                setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');: S1 x1 T1 [% G0 O* P  b  a
        }
9 D* J7 l6 R  s. w4 E6 q}[8 j* r% i( d$ c+ T) d4 W  {3 X$ J3 M1 O
out2();3 V9 q$ E& N  K7 v
依次類推
發表於 2009-6-2 19:11:34 | 顯示全部樓層
收藏了 挺實用的代碼 呵呵
回復 给力 爆菊

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

GMT+8, 2025-5-14 01:56

By DZ X3.5

小黑屋

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