在多个页面中设置javascript全局变量

use*_*066 3 html javascript jquery global-variables persistent-storage

我想将全局变量存储在javascript数组中,以使它们可用于多个页面.

我知道cookies或localstorage可以做类似的事情.但我想存储大量信息,因此如果我能想出一种方法将它们存储在javascript数组中会更好.

例如,在html 1文件中

<head>
    <title>Global javascript example</title>
</head>
<body>
    <button type="button" onclick="global_var['a']['a']=1;"> a,a set to 1  </button>  
    <br/>                              
    <button type="button" onclick="global_var['a']['b']=1;"> a,b set to 1  </button>             
    <br/>                              
    <button type="button" onclick="alert(global_var['a']['b']);"> echo  a,b   </button>  
</body>
Run Code Online (Sandbox Code Playgroud)

现在在另一个html文件或刷新后的同一页面中,我想访问全局变量:

<head>
    <title>Global javascript example</title>
</head>
<body>                            
    <button type="button" onclick="alert(global_var['a']['b']);"> echo a,b </button>               
</body>
Run Code Online (Sandbox Code Playgroud)

除了使用cookie之外,有没有办法实现这个?

nic*_*las 20

简短的回答是:

localStorage.setItem("bar", foo);
Run Code Online (Sandbox Code Playgroud)

然后:

var foo = localStorage.getItem("bar");
Run Code Online (Sandbox Code Playgroud)

答案很长,是http://diveintohtml5.info/storage.html

  • @ user2818066浏览器下至IE8支持localstorage.如果你需要低于IE8 - 你有问题. (3认同)