最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

非常不錯的[JS]Cookie精通之路第2/2頁

 更新時間:2008年06月26日 08:55:56   作者:  
Cookies,有些人喜歡它們,有些人憎恨它們。但是,很少有人真正知道如何使用它們。現(xiàn)在你可以成為少數(shù)人中的成員-可以自傲的 Cookie 大師。

// Date() 的構(gòu)造器設置以毫秒為單位
// .getTime() 方法返回時間,單位為毫秒
// 所以要設置15分鐘到期,要用60000毫秒乘15分鐘
var expiration = new Date((new Date()).getTime() + 15 * 60000);
document.cookie = "username=" + escape(form.username.value)+ "; expires ="
+ expiration.toGMTString() + "; path=" + "/" + "; _
domain=" + "mydomain.com" + "; secure";

讀取cookies值有點象個小把戲,因為你一次就得到了屬于當前文檔的所有cookies。

// 下面這個語句讀取了屬于當前文檔的所有cookies
var allcookies = document.cookie;

現(xiàn)在,我們得解析allcookies變量里的不同cookies,找到感興趣的指定cookie。這個工作很簡單,因為我們可以利用Javascript語言提供的擴
展字符串支持。

如果我們對前面分配的cookie "username" 感興趣,可以用下面的腳本來讀取它的值。

// 我們定義一個函數(shù),用來讀取特定的cookie值。
function getCookie(cookie_name)

var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name);

// 如果找到了索引,就代表cookie存在,
// 反之,就說明不存在。
if (cookie_pos != -1)

// 把cookie_pos放在值的開始,只要給值加1即可。
cookie_pos += cookie_name.length + 1;
var cookie_end = allcookies.indexOf(";", cookie_pos);

if (cookie_end == -1)

cookie_end = allcookies.length;


var value = unescape(allcookies.substring(cookie_pos, cookie_end));


return value;


// 調(diào)用函數(shù)
var cookie_val = getCookie("username");

上面例程里的 cookie_val 變量可以用來生成動態(tài)內(nèi)容,或者發(fā)送給服務器端CGI腳本進行處理。現(xiàn)在你知道了使用Javascript腳本操縱
cookies的基本方法。但是,如果你跟我一樣,那么我們要做的第一件事,就是建立一些接口函數(shù),把cookies處理上的麻煩隱藏起來。不過,
在你開始編程之前,稍候片刻。這些工作,早就有人替你做好了。你要做的,只是到哪去找這些接口函數(shù)而已。

比如,在David Flangan的Javascript: The Definitive Guide 3rd Ed.這本書里,可以找到很好的cookie應用類。你也可以在Oreilly的WEB站
點上找到這本書里的例子。本文最后的鏈接列表里,有一些訪問這些cookie示例的直接鏈接。



Cookies 怪獸

因為某些原因Cookies 的名聲很不好。許多人利用cookies做一些卑鄙的事情,比如流量分析、點擊跟蹤。Cookies 也不是非常安全,特別是沒
有secure屬性的cookies。不過,即使你用了安全的cookies,如果你和別人共用計算機,比如在網(wǎng)吧,那么別人就可以窺探計算機硬盤上未加
密保存的cookie文件,也就有可能竊取你的敏感信息。所以,如果你是一個WEB開發(fā)人員,那么你要認真考慮這些問題。不要濫用cookies。不
要把用戶可能認為是敏感的數(shù)據(jù)保存在cookies里。如果把用戶的社會保險號、信用卡號等保存在cookie里,等于把這些敏感信息放在窗戶紙下
,無異于把用戶投到極大危險之中。一個好的原則是,如果你不想陌生人了解你的這些信息,那就不要把它們保存在cookies里。

另外,cookies還有一些實際的限制。Cookies保留在計算機上,不跟著用戶走。如果用戶想換計算機,那么新計算機無法得到原來的cookie。
甚至用戶在同一臺計算機上使用不同瀏覽器,也得不到原來的cookie:Netscape 不能讀取Internet Explorer 的cookies。

還有,用戶也不愿意接受cookies。所以不要以為所有的瀏覽器都能接受你發(fā)出的cookies。如果瀏覽器不接受cookies,你要保證自己的WEB站
點不致因此而崩潰或中斷。

另外WEB 瀏覽器能保留的cookies不一定能超過300個。也沒有標準規(guī)定瀏覽器什么時候、怎么樣作廢cookies。所以達到限制時,瀏覽器能夠有
效地隨機刪除cookies。瀏覽器保留的來自一個WEB服務器上的cookies,不超過20個,每個cookie的數(shù)據(jù)(包括名稱和值),不超過4K字節(jié)。(
不過,本文里的cookie尺寸沒問題,它只占了12 K字節(jié),保存在3個3 cookies里。)

簡而言之,注意保持cookie簡單。不要依賴cookies的存在,不要在每個cookie里保存太多信息。不要保存太多的cookes。但是,拋除這些限制
,在技巧高超的WEB管理員手里,cookie的概念是一個有用的工具。

外部鏈接
每個 Javascript 程序員都應當有一份Javascript: David Flanagan 的The Definitive Guide。 這本書里找到cookie 類例程可以幫助你把
不止一個變量編碼到單一的cookie,克服掉“每個WEB服務器20 個cookies的限制”。請點擊這個鏈接下載該例程,
ftp://ftp.oreilly.com/pub/examples/nutshell/javascript/。

相關(guān)文章

  • 一文了解你不知道的JavaScript生成器篇

    一文了解你不知道的JavaScript生成器篇

    ES6引入了一個新的函數(shù)類型,發(fā)現(xiàn)它并不符合這種運行到結(jié)束的特性。這類新的函數(shù)被稱為生成器。生成器的出現(xiàn)是我們知道原來有時代碼并不會順利的運行,可以通過暫停的方式進行異步回調(diào),讓我們摒棄了此前的認知。本文就來聊聊JavaScript中生成器的相關(guān)知識
    2022-11-11
  • javaScript深拷貝和淺拷貝的簡單介紹

    javaScript深拷貝和淺拷貝的簡單介紹

    深淺拷貝知識在我們的日常開發(fā)中還算是用的比較多,下面這篇文章主要給大家介紹了關(guān)于javaScript深拷貝和淺拷貝的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • 微信小程序?qū)崿F(xiàn)倒計時功能

    微信小程序?qū)崿F(xiàn)倒計時功能

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)倒計時功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Angular組件拿不到@Input輸入屬性問題探究解決方法

    Angular組件拿不到@Input輸入屬性問題探究解決方法

    最近在工作中實現(xiàn)一個feature的時候,碰到一個小問題:Angular組件拿不到@Input輸入屬性的問題,盡管對這些問題都比較了解,但是找問題是需要一個過程的,所以還是把這個問題總結(jié)記錄了下
    2023-01-01
  • JavaScript樹形數(shù)據(jù)結(jié)構(gòu)處理

    JavaScript樹形數(shù)據(jù)結(jié)構(gòu)處理

    這篇文章主要介紹了JavaScript樹形數(shù)據(jù)結(jié)構(gòu)處理,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • 探討JavaScript中聲明全局變量三種方式的異同

    探討JavaScript中聲明全局變量三種方式的異同

    這篇文章主要介紹了JavaScript中聲明全局變量三種方式的異同。變量及變量聲明是一門語言最基本的概念,初學者都會很快掌握。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 前端報錯Failed?to?resolve?component:?smile-outlined?If?this?is?a?native?custom解決

    前端報錯Failed?to?resolve?component:?smile-outlined?If?thi

    這篇文章主要為大家介紹了前端報錯?Failed?to?resolve?component:?smile-outlined?If?this?is?a?native?custom?的問題分析解決,有需要的朋友可以借鑒參考下
    2023-06-06
  • 微信小程序使用Echarts和分包的完整步驟

    微信小程序使用Echarts和分包的完整步驟

    這篇文章主要給大家介紹了關(guān)于微信小程序使用Echarts和分包的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Bootstrap每天必學之前端開發(fā)框架

    Bootstrap每天必學之前端開發(fā)框架

    Bootstrap每天必學之前端開發(fā)框架,今天這篇文章就帶著大家了解認識當下最流行的前端開發(fā)框架Bootstrap,bootstrap深受大家喜愛的原因到底是什么呢,我們一探究竟。
    2015-11-11
  • 如何解決js函數(shù)防抖、節(jié)流出現(xiàn)的問題

    如何解決js函數(shù)防抖、節(jié)流出現(xiàn)的問題

    這篇文章主要介紹了如何解決js函數(shù)防抖、節(jié)流出現(xiàn)的問題。SyntheticEvent對象是通過合并得到的。 這意味著在事件回調(diào)被調(diào)用后,SyntheticEvent 對象將被重用并且所有屬性都將被取消。 因此,您無法以異步方式訪問該事件。,需要的朋友可以參考下
    2019-06-06

最新評論

深州市| 台南市| 蓝田县| 南宫市| 广西| 丹棱县| 伊宁县| 宜黄县| 江山市| 苍山县| 钟祥市| 白沙| 漠河县| 宝应县| 黑河市| 齐齐哈尔市| 迭部县| 工布江达县| 达孜县| 平乐县| 会昌县| 天等县| 内黄县| 巴东县| 轮台县| 阳江市| 林甸县| 贺州市| 普定县| 广南县| 华蓥市| 江安县| 简阳市| 都江堰市| 彩票| 左云县| 武陟县| 汉源县| 财经| 贡觉县| 蛟河市|