跨瀏覽器的本機存放區 Ⅰ

來源:互聯網
上載者:User

原文:http://www.planabc.net/2008/08/05/userdata_behavior/

現在最流行的本機存放區莫過於 cookie 的應用,但 瀏覽器對cookie有很多限制 ,最大的限制在於其對cookie 總大小,僅為 4K 左右(包括名(name)、值(value)和等號)。

對於複雜一點的應用和需求,僅有的 4K 大小還是有點相形見絀,其實很多瀏覽器(IE、Firefox、Safari)本身也提供了自己的本機存放區的功能,或許在特定的環境下能滿足我們。

一、userData behavior

瀏覽器支援:IE5.0 或以上

基本文法:

  • XML:
    <Prefix: CustomTag id=sID style=”behavior:url(’#default#userData’)” />
  • HTML:
    <ELEMENT style=”behavior:url(’#default#userData’)” id=sID>
    object.style.behavior = “url(’#default#userData’)”
  • Script:
    object.addBehavior (”#default#userData”)

屬性:

  • expires —— 設定或者擷取 userData behavior 儲存資料的失效日期。
  • XMLDocument —— 擷取 XML 的引用。

方法:

  • getAttribute() —— 擷取指定的屬性值。
  • load(object) —— 從 userData 儲存區載入儲存的對象資料。
  • removeAttribute() —— 移除對象的指定屬性。
  • save(object) —— 將對象資料存放區到一個 userData 儲存區。
  • setAttribute() —— 設定指定的屬性值。

備忘:

  1. 從安全方面考慮,一個 userData 儲存區只能用於同一目錄和對同一協議進行儲存。
  2. 如果使用 userData behavior 不正確可能會對你的應用造成危害,userData 儲存區中的資料沒有加密因而不安全的。任何可以訪問 UserData 儲存磁碟的應用都可以訪問該資料,所以,推薦不要儲存敏感的資料,比如信用卡號,詳細:《Security Considerations: DHTML and Default Behaviors》
  3. userData behavior 會跨 session 儲存資訊到儲存區,這提供了動態資料結構和比 cookie(一般 4KB) 更大的容量。userData 儲存區的容量依賴於 domain 的安全域。下表顯示的是 userData 儲存最大容量,對單獨文檔和整個網域名稱的所有文檔都適用,但基於安全域。
    Security Zone Document Limit (KB)  Domain Limit (KB)
    Local achine 128 1024
    Intranet 512 10240
    Trusted Sites 128 1024
    Internet 128 1024
    Restricted 64 640
  4. 如果設定 userData behavior 到 html、head、title 或者 style 對象上,當 save 和 load 方法被調用時會出錯。如果必須設定到 style 中,可以設定內聯或者文檔頭,例如:
    <style>
        .storeuserData {behavior:url(#default#userData);}
    </style>
  5. 對於 userData behavior 來說 ID 是可選的,但是如果有,則會改善執行效能。
  6. userData 可以將資料以 XML 格式儲存在用戶端電腦上,一般儲存在 C(WIN 系統硬碟):\Documents and Settings\XXX\UserData\ 檔案夾下。
  7. userData 資料一直存在,除非人為刪除或者用指令碼設定該資料的失效日期(expires)。

大部分翻譯自:《userData Behavior》



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。