Rumah hujung hadapan web tutorial js js本地存储解决方案——localStorage与userData

js本地存储解决方案——localStorage与userData

Nov 23, 2016 pm 02:41 PM
javascript localstorage

WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的userData,Firefox下面的globalStorage,以及Flash的本地存储,除了Flash之外,其他的几个都有一些兼容性的问题。

sessionStorage与localStorage

Web Storage实际上由两部分组成:sessionStorage与localStorage。

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

userData

语法:

1

2

3

4

XML  <Prefix: CustomTag ID=sID STYLE="behavior:url('#default#userData')" />

HTML  <ELEMENT STYLE="behavior:url('#default#userData')" ID=sID>

Scripting    object .style.behavior = "url('#default#userData')"

object.addBehavior ("#default#userData")

Salin selepas log masuk

属性:

expires 设置或者获取 userData behavior 保存数据的失效日期。

XMLDocument 获取 XML 的引用。

方法:

getAttribute() 获取指定的属性值。

load(object) 从 userData 存储区载入存储的对象数据。

removeAttribute() 移除对象的指定属性。

save(object) 将对象数据存储到一个 userData 存储区。

setAttribute() 设置指定的属性值。

localStorage

方法:

localStorage.getItem(key):获取指定key本地存储的值

localStorage.setItem(key,value):将value存储到key字段

localStorage.removeItem(key):删除指定key本地存储的值

封装

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

localData = {

    hname:location.hostname?location.hostname:'localStatus',

    isLocalStorage:window.localStorage?true:false,

    dataDom:null,

    initDom:function(){ //初始化userData

        if(!this.dataDom){

            try{

                this.dataDom = document.createElement('input');//这里使用hidden的input元素

                this.dataDom.type = 'hidden';

                this.dataDom.style.display = "none";

                this.dataDom.addBehavior('#default#userData');//这是userData的语法

                document.body.appendChild(this.dataDom);

                var exDate = new Date();

                exDate = exDate.getDate()+30;

                this.dataDom.expires = exDate.toUTCString();//设定过期时间

            }catch(ex){

                return false;

            }

        }

        return true;

    },

    set:function(key,value){

        if(this.isLocalStorage){

            window.localStorage.setItem(key,value);

        }else{

            if(this.initDom()){

                this.dataDom.load(this.hname);

                this.dataDom.setAttribute(key,value);

                this.dataDom.save(this.hname)

            }

        }

    },

    get:function(key){

        if(this.isLocalStorage){

            return window.localStorage.getItem(key);

        }else{

            if(this.initDom()){

                this.dataDom.load(this.hname);

                return this.dataDom.getAttribute(key);

            }

        }

    },

    remove:function(key){

        if(this.isLocalStorage){

            localStorage.removeItem(key);

        }else{

            if(this.initDom()){

                this.dataDom.load(this.hname);

                this.dataDom.removeAttribute(key);

                this.dataDom.save(this.hname)

            }

        }

    }

}

Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript

Mengapakah localstorage tidak berjaya menyimpan data? Mengapakah localstorage tidak berjaya menyimpan data? Jan 03, 2024 pm 01:41 PM

Mengapakah localstorage tidak berjaya menyimpan data?

Bagaimana untuk menetapkan masa tamat tempoh item storan setempat Bagaimana untuk menetapkan masa tamat tempoh item storan setempat Jan 11, 2024 am 09:06 AM

Bagaimana untuk menetapkan masa tamat tempoh item storan setempat

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata

Mengapakah storan setempat tidak boleh menyimpan data dengan betul? Mengapakah storan setempat tidak boleh menyimpan data dengan betul? Jan 03, 2024 pm 01:41 PM

Mengapakah storan setempat tidak boleh menyimpan data dengan betul?

Apakah kaedah untuk memulihkan data Localstorage yang dipadamkan? Apakah kaedah untuk memulihkan data Localstorage yang dipadamkan? Jan 11, 2024 pm 12:02 PM

Apakah kaedah untuk memulihkan data Localstorage yang dipadamkan?

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Dec 17, 2023 pm 12:09 PM

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP

See all articles