我在angus.js中共享了这样的js代码
var g_colour;
function getcolour() {
return g_colour;
}
function setcolour(colour) {
g_colour = colour;
}
Run Code Online (Sandbox Code Playgroud)
这是由html第1页和第2页访问的,如下所示:
1.HTML:
<html>
<head>
<title>Global javascript example</title>
</head>
<body>
<a href="2.html">Page2</a>
<script src="angus.js"></script>
<form name="frm">
<input type="button" value="Setblue" onclick="setcolour('blue');" />
<input type="button" value="Setyellow" onclick="setcolour('yellow');" />
<input type="button" value="getcolour" onclick="alert(getcolour());" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
2.HTML:
<html>
<head>
<title>Global javascript example page 2</title>
</head>
<body>
<a href="1.html">Page1</a>
<script src="angus.js"></script>
<form name="frm">
<input type="button" value="Setblue" onclick="setcolour('blue');" />
<input type="button" value="Setyellow" onclick="setcolour('yellow');" />
<input type="button" value="getcolour" onclick="alert(getcolour());" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我在一个页面中设置颜色并导航到第2页,然后然后访问颜色,则返回undefined.即我似乎在加载新的html页面时创建了一个新的g_colour实例.
我希望能够访问一种顶级变量,我可以在第1页中设置并在第2页中访问.如何在Javascript中执行此操作?
JS变量永远不会持久化,但有两种方法:
除了最古老的浏览器之外,所有浏览器都支持Cookie,但它们可能非常难以使用且难以使用.最重要的是,您的浏览器会在每次页面加载时向服务器发送cookie,因此如果它仅由JavaScript使用,则效率非常低.
相反,您应该查看存储选项.
保存项目就像localStorage.itemname = value;阅读一样简单localStorage.itemname,删除就像文字一样简单delete localStorage.itemname
这些值保存在页面加载中,但不会发送到服务器.
| 归档时间: |
|
| 查看次数: |
9274 次 |
| 最近记录: |