过期域名预定抢注

用戶名  找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-6-2 16:56:20 | 顯示全部樓層 |閱讀模式
首先,要把以下代碼存為cookies.js 在htm頁中調用!# o3 M" Y6 h- [5 q3 f

7 w- n: S1 a' Y此為JS代碼A:
& G7 A# T: G' W: a9 }0 N$ F  o" r- M; [! h
function setCookie(name,value,days){* R: s9 ^9 k; i7 y8 D
        var exp=new Date();
2 b9 w1 N5 w3 o, j$ y        exp.setTime(exp.getTime() + days*24*60*60*1000);) K) D/ w# e# I+ @4 o4 K2 S
        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));; Q4 l! y; `2 `
        document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
' p9 R, v! t: A  }% k" _}0 r' X" C( q( R( ~0 o
function getCookie(name){
3 V2 @4 y) W7 }* C  U  V: H        var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
0 V, {7 [/ f# Z, K- ?  T        if(arr!=null){2 a9 [7 X" L; L& i3 Q
                return unescape(arr[2]);
+ g+ m% o. t, j3 ?) \" K                return null;; C, ^/ [) M- v+ `
        }
; r: K; v* S( S: M}6 N/ B0 ]6 j: Q) O8 P, d/ `
function delCookie(name){7 `$ n1 u% u  q9 q& ~# k
        var exp=new Date();
8 E2 Q+ q0 ]4 e4 ?& G5 j5 ?" O        exp.setTime(exp.getTime()-1);; N; l& l, m8 R) W8 v- z( \
        var cval=getCookie(name);8 e! Q1 m; T- M0 i9 i( j0 H! ]" g& Y$ V
        if(cval!=null){
5 h/ r' x& J# w% e# K                document.cookie=name+"="+cval+";expires="+exp.toGMTString();& E$ ^" K$ r* ]& c4 s( L+ k, d
        }
/ J5 \: g$ _$ B/ {6 [8 L( p1 w}$ i( j7 y7 w- j
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
, x. _! Y6 n; |& H7 Z
9 U! i0 h% a: I" X7 B# A. u- L% D/ Q$ y; [
MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B, |& ?4 F2 S4 t" D* n- R3 ?( {. q
<script src="cookies.js"></script><script src="patch.js"></script>
0 j9 i5 g; C3 G6 ~- W注意路徑問題,這個就不多說了( {# r! L1 _% q% k" V; J

( G1 ?/ F4 G% W9 I  Z此為JS代碼B
4 @$ {* t% @3 R' J
" h6 z" D; B7 K' zfunction out(){
( v/ ~$ {; i. t1 H- e        if(getCookie("out")!="yes"){
, Q' P1 N4 |/ w4 b1 U3 w7 `$ j                setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');" o) u4 V- U) b; H/ [3 C
        }
, {  K9 G8 R+ U- w) x# ^: b1 Z3 D) {}: d3 z$ Y, d5 X5 ]5 w
out();) ~6 y0 ]- s& F) @' C, e: ]
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
, N' n9 h/ [  q* h4 ^* ^( n然後再運行你的JS代碼0 n- M+ K7 Z- Q0 J/ }& H

+ n/ P2 ~/ r' n% s至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了
5 Z9 |4 T0 m+ q  w# Q3 c. D& g: b. q% E/ n; @! s
補充:
2 U' U4 e3 z; j, m5 L; A0 J1 ]& d! n9 K5 W( a' W, }7 P, z
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?
( B! d: I4 s  F6 y7 f- i那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了
) e+ k, Y! j8 J. ]
) B1 a' I  k  P( t! V8 p. p舉個例子
* C5 I2 |& d% F8 {+ sfunction out1(){4 B$ w2 p0 X/ T2 j, g/ f5 w+ ~8 u9 E
        if(getCookie("out1")!="yes"){$ c0 h1 d8 Y% ?7 z* Z! M5 x
                setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');$ k! u1 p. g* l( A3 j
        }+ U2 Y% j2 f/ x2 N$ y8 {* u1 J2 d
}! S/ ?. i4 s% @0 p
out1();6 c& L/ H  ^! C9 c) z) @7 w7 ]
! t8 u; R6 R9 q- T7 d

# B% r0 x. C2 @# w* L
6 ^  }2 ^- e  I8 z8 v' o# |function out2(){3 M# Q5 T9 b. x5 F( R3 a
        if(getCookie("out2")!="yes"){; b  T* p3 P7 z/ q% ^
                setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');5 M& h! D' O; Z+ j
        }
/ q& u' E* L6 T' i% k% S}[
7 n: E% q  R: I' rout2();
5 h4 Z( s1 K9 ^  J. X6 T5 [4 J1 @0 N9 i依次類推
發表於 2009-6-2 19:11:34 | 顯示全部樓層
收藏了 挺實用的代碼 呵呵
回復 给力 爆菊

舉報

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

舉報

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

舉報

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

本版積分規則

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

GMT+8, 2025-6-3 04:23

By DZ X3.5

小黑屋

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