我想在整个应用程序中使用一些数据。我正在使用localStorage来存储数据。我在我的应用程序中使用它但这是我的问题,在Reload上我的整个localStorage值从浏览器中删除。任何人都可以告诉我,当用户重新加载应用程序时,localStoage值被删除?如果是,建议我在整个应用程序中使用任何其他解决方案。
答案 0 :(得分:2)
Localstorage存储在系统中,重新加载应用程序不会删除它。
答案 1 :(得分:2)
localStorage和sessionStorage有两个变量。
两者之间的区别在于localStorage中的数据没有过期,而sessionStorage在页面会话结束时清除了您的数据。它取决于您想要根据您的要求使用的任何变量。
因此,当您的网页重新加载时,localStorage不会清除您的数据。
答案 2 :(得分:0)
检查文件中的window.localStorage.clear()
,看看是否在重新加载时调用它,因为这是清除localStorage的唯一方法,而且您可能会意外触及它。
只读的localStorage属性允许您访问Document的源文件的Storage对象;存储的数据将保存在浏览器会话中。 localStorage类似于sessionStorage,但是当localStorage中存储的数据没有到期时间时,存储在sessionStorage中的数据会在页面会话结束时清除 - 也就是说,当页面关闭时。
所以理想情况下它不应该清除localStorage unlee的值你已经手动触发了清除它的东西(检查清除它并在页面重新加载时触发的任何方法)如果一切看起来都不错那么接下来的情况就像例外:< / p>
<强>例外强>
的SecurityError
请求违反了策略决策,或者源不是有效的方案/主机/端口元组(如果源使用文件:或data:scheme,则会发生这种情况)。例如,用户可能将其浏览器配置为拒绝保留指定源的数据的权限。
参考:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
答案 3 :(得分:0)
sessionStorage对象: sessionStorage对象仅存储会话的数据,这意味着在浏览器(或选项卡)关闭之前存储数据。在本地运行文件时它不可用。
存储在sessionStorage对象中的数据只能从最初存储数据的页面访问;所以这不符合你的要求
localStorage对象:使用localStorage对象存储的数据将保持不变,直到通过JavaScript专门删除它或用户清除浏览器的缓存。
只能从最初存储数据的域访问存储在localStorage对象中的数据。
答案 4 :(得分:0)
您可以将Cookie用于商店数据,直到会话清除为止。这样,每当应用重新加载时,您的数据都不会被清除。
使用以下代码在Cookie中存储数据,
document.cookie = "sampleData=www.samplesite.com";
document.cookie = "sampleUser=user001";
使用以下代码从Cookie中检索数据,
function getCookieData(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function getSampleSite() {
var _st = getCookieData("sampleData");
return (_st != null) ? _st : "";
}
function getUser() {
var _st = getCookieData("sampleUser");
return (_st != null) ? _st : "";
}