使用Javascript或Jquery在浏览器中存储本地值的最佳方法是什么?
what is the best way to store local values in browser using Javascript or Jquery?
我在数组中存储局部变量。但是当我尝试刷新页面时,数组变为空。我也想要页面引用后的先前值。
我在Javascript中尝试"上一个/下一个"功能。但是当我尝试重新加载页面时,数组中的值被删除了。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
var urllist = [];
var ind = 0;
var myVar;
myVar = setInterval(Geturlfun, 3000);
function Geturlfun() {
var pageURL = window.location.href;
if (urllist[ind - 1] == pageURL) {
} else {
urllist[ind] = pageURL;
ind = ind + 1;
alert(pageURL);
}
}
function goBkHist(a) {
var l_ref = ind - 2;
if (l_ref != 0) {
var pageURL2 = urllist[l_ref];
ind = l_ref + 1;
alert(pageURL2);
loadUrl(pageURL2);
}
}
function goFdHist(a) {
var l_ref_2 = ind;
var pageURL2 = urllist[l_ref_2];
ind = l_ref_2 + 1;
alert(pageURL2);
loadUrl(pageURL2);
}
function loadUrl(newLocation) {
window.location = newLocation;
location.reload();
return true;
}
</script>
</head>
<body>
<input type="button" value="BACK " onclick="goBkHist(-1)" />
<input type="button" value="FORWARD" onclick="goFdHist(1)" />
</body>
</html>
在这段代码中,如果我点击返回或转发显示的URL,但当我试图加载该URL时,页面被重新加载,数组中的值被删除。
我该如何处理这些问题。
是否有办法处理这种类型的存储与其他方法,如会话和cookie。
存储在sessionStorage中的值将在您关闭该选项卡时自动删除。
如果你在localStorage中存储值将不会被自动删除,除非你通过编程方式删除它或删除浏览器数据。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
// Getting value from browser side.
if (window.sessionStorage.getItem('url_list'))
{
var urllist = $.parseJSON(window.sessionStorage.getItem('url_list'));
}
else
{
var urllist = [];
}
var ind = 0;
var myVar;
myVar = setInterval(Geturlfun, 3000);
function Geturlfun() {
var pageURL = window.location.href;
if (urllist[ind - 1] == pageURL)
{
}
else
{
urllist[ind] = pageURL;
ind = ind + 1;
alert(pageURL);
}
// Storing at browser side
window.sessionStorage.setItem('url_list', JSON.stringify(urllist))
}
function goBkHist(a) {
var l_ref = ind - 2;
if (l_ref != 0)
{
var pageURL2 = urllist[l_ref];
ind = l_ref + 1;
alert(pageURL2);
loadUrl(pageURL2);
}
}
function goFdHist(a) {
var l_ref_2 = ind;
var pageURL2 = urllist[l_ref_2];
ind = l_ref_2 + 1;
alert(pageURL2);
loadUrl(pageURL2);
}
function loadUrl(newLocation) {
window.location = newLocation;
location.reload();
return true;
}
</script>
</head>
<body>
<input type="button" value="BACK " onclick="goBkHist(-1)" />
<input type="button" value="FORWARD" onclick="goFdHist(1)" />
</body>
</html>
您可以使用LocalStorage API在客户端持久化数据。如果您必须支持古老的浏览器,您可以编写一个简单的回退到cookie。请注意,LocalStorage有一些大小限制,如果我没记错的话,每个域大约有10MB。
查看这里的文档
您可以简单地使用localStorage.getItem
和localStorage.setItem
函数
您可以使用localStorage
或sessionStorage
通过localStorage,你可以这样做
localStorage.setItem("DataValue", "Your Value");
并通过
检索localStorage.getItem("DataValue")
by sessionStorage its like
sessionStorage.DataValue = "Your Value"
和检索
var Data = sessionStorage.DataValue
所有这些都是客户端特性。sessionStorage
与浏览器的单独选项卡绑定,而localStorage
将在整个浏览器中可用。
相关文章:
- 有条件更新d3.js力图中节点的最佳方法
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 从数组中删除元素的最佳方法是:javascript/jquery
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 列出没有 mysql 的元素的最佳方法是什么
- 在jquery库中重新定义方法的最佳方法
- Javascript,用vars创建对象的最佳方法
- 使用 jQuery 从 HTML 中获取某些值的最佳方法
- 在变量中保存值的最佳方法是在应用程序关闭后使用,然后使用apachecordova在android中重新启动
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 用jasmine测试JavaScriptUI的最佳方法
- 使用javascript:在没有阻止html标记(<b>、<p>等)的情况下,阻止脚本的最佳方法
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- JavaScript - 创建可链接函数时的最佳方法是什么
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 在 JavaScript 中获取范围的随机数的最佳方法
- 在对象类上实现 jquery 作用域的最佳方法
- 将同步函数包装到承诺中的最佳方法是什么?
- 使用 MVC 删除 JavaScript 中硬编码字符串 Asp.Net 最佳方法