过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-6-2 16:56:20 | 顯示全部樓層 |閱讀模式
首先,要把以下代碼存為cookies.js 在htm頁中調用!0 v, F1 k' V# w% \5 z( ?" D4 R

$ t/ |* G; J$ K' l/ M1 g7 z此為JS代碼A:0 R$ u  e3 s& a* q+ G
8 E! e7 n) e4 q/ i9 F  J
function setCookie(name,value,days){
# }! O! v# q, C9 S" l        var exp=new Date();
$ d2 I. D1 F+ j' [! j8 O        exp.setTime(exp.getTime() + days*24*60*60*1000);
% N( A7 v) K: G% D        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));6 W1 U+ Q0 {0 @( J% M& I
        document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
; @8 X8 u+ u. `/ }2 K; o}% e& Q" b) f' t9 L1 \; U
function getCookie(name){5 R' j) V, A/ \2 b* F/ m  e# u
        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));/ |* D+ H8 s2 Q5 d
        if(arr!=null){& J" _0 `6 U2 y& }  f. q
                return unescape(arr[2]);/ C7 l: p1 ^5 h8 o
                return null;4 X' t; T8 Z  R
        }
  k% v9 O6 U; Z4 `}" t* }5 ^9 w- n0 y+ }0 |
function delCookie(name){' C" I9 _& M' z
        var exp=new Date();
* X" P8 P# _- ^2 i# k        exp.setTime(exp.getTime()-1);
; F$ n4 O6 j1 u9 T        var cval=getCookie(name);$ K  J) p- Y2 l, o  Y( \5 ~
        if(cval!=null){2 Z+ ~2 l1 [  ^' H% i" g. j7 e) r  o
                document.cookie=name+"="+cval+";expires="+exp.toGMTString();
  ], _4 Y) F2 O* ]- o2 Q        }- w9 P5 @& b. D+ `
}8 [  T; E7 V* j. ^& r/ k
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
' A! [6 ?+ _! l% a
( G1 K0 _' i' y  u$ G  r+ H& b2 Q5 H  T+ ^
MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B5 l8 D( h3 o# ?* o$ Q6 M
<script src="cookies.js"></script><script src="patch.js"></script>! T9 |( [+ m5 S* {; a
注意路徑問題,這個就不多說了9 [8 @- S) P# \+ t" U* r, v

9 O8 u7 n4 m3 l) p此為JS代碼B: D/ J8 ]; {' K- {  W% V& N" Y8 z* ^

3 s& D5 {% Q4 P* u: cfunction out(){) c! z8 G- }5 D% l* S( A
        if(getCookie("out")!="yes"){6 ^% F3 S1 j6 ?1 ?6 R$ Y& C% H! ~
                setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');/ w; f4 k: N8 g; t5 w+ j" K
        }7 k* r6 E( N% p5 [
}
) D+ j7 H3 M" e& B4 Jout();1 l9 G6 q$ L3 a# K7 a2 K- e0 O
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
/ N  M7 j: m* t2 Q- U然後再運行你的JS代碼
1 w. J( f/ d% F3 o
& s$ A( h9 c2 h4 r至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了
, v! ]. K4 _, W) x/ A+ [" C7 D9 {- d. l
補充:8 u# ?5 j; M2 P. v
: e- \; G4 z+ {" G/ P
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?: }! U) X( O1 O. e: L3 y3 j& b
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了* b4 ~3 p( y  [
. L  g# U4 ?. z3 I( V1 P+ c
舉個例子 7 h* B9 i8 R$ P7 B9 B
function out1(){, W) E. P6 K$ l/ f$ ]
        if(getCookie("out1")!="yes"){
! f$ S* c7 c* E: ]                setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');* B, C; D+ T) R
        }# s  G: A  X6 t0 ^
}
# z) u/ R' e  r- H1 d: ?5 w: Tout1();& c' o0 z: B6 f0 {' j
3 ^% U7 @5 I) c
5 ?5 q8 h+ Q6 G% ^6 `+ H
2 z3 b: D* }2 \. N1 Y
function out2(){
. \$ q( I# c; k  m$ v# q1 i  t        if(getCookie("out2")!="yes"){& B: E' z6 K0 C3 W" @! @
                setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');) e) y) L3 v  N  c
        }4 H0 o( h# V: y; R0 }+ a5 F
}[% x) n/ g7 d( Z: a- B
out2();
+ r# R( t1 r! [$ A依次類推
發表於 2009-6-2 19:11:34 | 顯示全部樓層
收藏了 挺實用的代碼 呵呵
回復 给力 爆菊

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

GMT+8, 2025-7-3 03:42

By DZ X3.5

小黑屋

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