我试图读取标签,并在用户点击浏览器上的刷新按钮后将其值附加为查询字符串。到目前为止,我的代码是:

 function AppendQueryString() {
            var currUrl = document.location;
            var trackingNbr = $("#lblTrackingNbr").text();
           if (window.location.href.indexOf("?TrackingNumber=") <= 0 && trackingNbr !== null) {
                document.location = currUrl + "?TrackingNumber="+ trackingNbr;
            }
        }

        window.onbeforeunload = AppendQueryString();


问题是,即使标签具有在刷新前的值,该trackingNbr变量也始终为空。我做错了什么,还是有更好的方法呢?

最佳答案

SessionStorage将是一个很好的解决方案,例如:

sessionStorage.setItem("trackingNbr", trackingNbr);


单击刷新按钮后,您可以轻松地从会话存储中拉回该值:

var trackingNbr = sessionStorage.getItem("trackingNbr");


安全性:因为这是会话存储而不是本地存储,所以会话结束时将从浏览器中清除该值。请注意,只有您的域可以访问您放入会话或本地存储中的任何内容。但是,有知识的最终用户可以通过使用任何主要浏览器中的开发人员工具来读取值。

07-26 01:36