两个页面之间的sessionStorage

1 javascript session-storage

我试图在一个页面上设置一个变量,然后将其显示在另一页上。两个页面都存在于同一域中。我以前从未使用过 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)

任何关于为什么没有得到变量的见解都会非常感谢。

Hua*_*ang 5

正如 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 存储全局变量。