我试图在一个页面上设置一个变量,然后将其显示在另一页上。两个页面都存在于同一域中。我以前从未使用过 sessionStorage,所以我不确定我在哪里犯了错误。由于某种原因,第二页只是一张空白页。这是第一页上设置变量的代码。
if (typeof(Storage) != "undefined") {
// Store
sessionStorage.setItem("score", 12);
document.getElementById("result").innerHTML = ("score");
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
}
Run Code Online (Sandbox Code Playgroud)
这是第二页上的代码,应该检索变量并将其打印到屏幕上。
if (typeof(Storage) != "undefined") {
// Retrieve
document.getElementById("result").innerHTML = sessionStorage.getItem("score");
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
}
Run Code Online (Sandbox Code Playgroud)
任何关于为什么没有得到变量的见解都会非常感谢。
正如 Yiriy 指出的,当尝试在浏览器的多个窗口/选项卡之间共享变量时,应该使用 localStorage 而不是 sessionStorage。
所以使用:
localStorage.setItem("score",12);
Run Code Online (Sandbox Code Playgroud)
和
document.getElementById("result").innerHTML = localStorage.getItem("score");
Run Code Online (Sandbox Code Playgroud)
在另一个选项卡中
想想 sessionStorage 存储局部变量,而 localStorage 存储全局变量。
| 归档时间: |
|
| 查看次数: |
14181 次 |
| 最近记录: |