js下利用userData實(shí)現(xiàn)客戶端保存表單數(shù)據(jù)
事實(shí)上,我們可以利用微軟DHTML默認(rèn)行為中的userData行為來實(shí)現(xiàn)這個功能。
因為很多網(wǎng)友問到這樣的問題,整理了一下,并提供了三個示例。下面將就該行為的使用做一個介紹:
UserData 行為(userData Behavior):
1、說明:
userData行為通過將數(shù)據(jù)寫入一個UserData存儲區(qū)(UserData store)來保存數(shù)據(jù),userData可以將數(shù)據(jù)以XML格式保存在客戶端計算機(jī)上,如果你用的是 Windows 2000 或者 Windows XP,是保存在C:\Documents and Settings\Liming\UserData\文件夾下(如果操作系統(tǒng)不是安裝在C盤,那么C就應(yīng)該是操作系統(tǒng)所在的分區(qū))。
該數(shù)據(jù)將一直存在,除非你人為刪除或者用腳本設(shè)置了該數(shù)據(jù)的失效期。
userData行為提供了一個比Cookie更具有動態(tài)性和更大容量的數(shù)據(jù)結(jié)構(gòu)。每頁的UserData存儲區(qū)數(shù)據(jù)大小可以達(dá)到64 Kb,每個域名可以達(dá)到640 Kb。
userData行為通過sessions為每個對象分配UserData存儲區(qū)。使用save和load方法將UserData存儲區(qū)數(shù)據(jù)保存在緩存(cache)中。一旦UserData存儲區(qū)保存以后,即使IE瀏覽器關(guān)閉或者刷新了,下一次進(jìn)入該頁面,數(shù)據(jù)也能夠重新載入而不會丟失。
出于安全的考慮,相同協(xié)議使用同一個文件夾保存UserData存儲區(qū)數(shù)據(jù)。
For security reasons, a UserData store is available only in the same directory and with the same protocol used to persist the store.
在HTML、HEAD、TITLE和STYLE標(biāo)記上應(yīng)用了userData行為后使用save和load方法將會出錯。
Setting the userData behavior (proposed) class on the HTML, HEAD, TITLE, or STYLE object causes an error when the save or load method is called.
必須在行內(nèi)或者文檔的HEAD部分宣告如下樣式:
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
userData行為可用于Microsoft? Win32?和Unix平臺上的IE 5.0以上版本,不支持Netscape。
2、語法:
HTML <ELEMENT STYLE="behavior:url('#default#userData')" ID=sID>
Script object.style.behavior = "url('#default#userData')"
object.addBehavior ("#default#userData")
注:sID參數(shù)是一個可以描述該標(biāo)記的唯一id。ID是可選的,但如果有,可以在腳本中方便地對該標(biāo)記加以控制。
3、成員:
expires
設(shè)置或取得使用userData行為保存數(shù)據(jù)的失效日期。
腳本語法:對象ID.expires = 參數(shù)
參數(shù)是一個使用UTC(Universal Time Coordinate,世界調(diào)整時間)格式表示失效日期的字符串。該屬性可以讀寫,沒有默認(rèn)值。瀏覽器會對比這個日期和當(dāng)前日期,如果到期,該數(shù)據(jù)就自動失效。
getAttribute()
取得指定的屬性值。
load(存儲區(qū)名)
從UserData存儲區(qū)載入存儲的對象數(shù)據(jù)。
removeAttribute()
從對象中刪除指定的屬性值。
save(存儲區(qū)名)
將對象數(shù)據(jù)存入一個UserData存儲區(qū)。
setAttribute()
設(shè)置指定的屬性值。
XMLDocument
取得存儲該對象數(shù)據(jù)的XML DOM引用。
具體用法可以查看MSDN(http://msdn.microsoft.com)
4、示例
示例一:文本框標(biāo)記的應(yīng)用(Microsoft)
代碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
示例二:Checkbox標(biāo)記的應(yīng)用
代碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
示例三:Select標(biāo)記的應(yīng)用
代碼如下:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
- 關(guān)于AngularJs數(shù)據(jù)的本地存儲詳解
- js仿微博實(shí)現(xiàn)統(tǒng)計字符和本地存儲功能
- 純js實(shí)現(xiàn)無限空間大小的本地存儲
- js瀏覽器本地存儲store.js介紹及應(yīng)用
- localStorage的黑科技-js和css緩存機(jī)制
- JavaScript中l(wèi)ocalStorage對象存儲方式實(shí)例分析
- 移動端使用localStorage緩存Js和css文的方法(web開發(fā))
- 詳解JavaScript中l(wèi)ocalStorage使用要點(diǎn)
- Javascript 計算字符串在localStorage中所占字節(jié)數(shù)
- JS localStorage實(shí)現(xiàn)本地緩存的方法
- JS實(shí)現(xiàn)本地存儲信息的方法(基于localStorage與userData)
相關(guān)文章
JavaScript使用concat連接數(shù)組的方法
這篇文章主要介紹了JavaScript使用concat連接數(shù)組的方法,實(shí)例分析了javascript中concat函數(shù)操作數(shù)組的技巧,需要的朋友可以參考下2015-04-04
JavaScript使用encodeURI()和decodeURI()獲取字符串值的方法
這篇文章主要介紹了JavaScript使用encodeURI()和decodeURI()獲取字符串值的方法,實(shí)例分析了encodeURI()和decodeURI()函數(shù)解析字符串的相關(guān)技巧,需要的朋友可以參考下2015-08-08
JS+CSS實(shí)現(xiàn)淡入式焦點(diǎn)圖片幻燈切換效果的方法
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)淡入式焦點(diǎn)圖片幻燈切換效果的方法,實(shí)例分析了javascript操作圖片、css等元素實(shí)現(xiàn)幻燈片的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02

