【问题标题】:setting a variable on one page and checking if it was defined on another在一个页面上设置一个变量并检查它是否在另一个页面上定义
【发布时间】:2013-06-07 11:51:26
【问题描述】:

好的,所以我有 2 个页面,比如默认页面和第 2 页。在第 2 页中,我有一个按钮(它使我返回默认值)和一个我编写的 onclick 函数,它设置了一个要存储在本地存储中的变量。我需要的是仅在用户单击后退按钮时才定义此变量(在第 2 页上设置)。我的默认页面中有以下代码:

if (typeof window.localStorage.getItem('value2') == "undefined") {
             console.log("undefined");
         }
         else {  
             console.log("defined");
         } 

在我的主页上,我写了以下函数:

function homeClick(url) {
            //var id = parsed.ClientID;
            //window.location = url + "?src=" + 6;
            window.location = url;
            window.localStorage.setItem('value2', UDID);

        }

这是按钮的html:

<button id="home" onclick="homeClick('/default.html')" style="position:relative; z-index:0;  height: 32px; width: 100px; left:-12px; top: 0px; display:none">Home</button>

就目前而言,我两次都在控制台中进行了定义。有什么想法吗?

【问题讨论】:

  • 试试if (typeof window.localStorage.getItem('value2') === "undefined" || window.localStorage.getItem('value2') == null || window.localStorage.getItem('value2') == "" )
  • @harsha 以为可能是这样,但两次都得到了定义

标签: javascript get set local-storage typeof


【解决方案1】:

重定向前赋值

function homeClick(url) {
            //var id = parsed.ClientID;
            //window.location = url + "?src=" + 6;
            window.localStorage.setItem('value2', UDID);
            window.location = url;

}

【讨论】:

  • 我完全错过了 OP 方法中的代码顺序。这必须工作。
  • @pvnarula 仍然被定义两次
  • 我认为你需要 sessionStorage 而不是 localStorage
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多