有没有办法在javascript中重置/清除浏览器的localStorage?
我有一个简单的问题,在我的脑海里停留了几天:什么是VanillaJS?有些人将其称为框架,您可以从官方页面下载库.
但是,当我查看一些示例或TodoMVC时,他们只使用经典的原始JavaScript函数,甚至不包括官方页面中的库或任何东西.此外,官方网页上的"文档"链接也会导致JavaScript的Mozilla规范.
我的问题是:VanillaJS是原始JavaScript吗?如果是的话,当你需要的是没有任何特殊包含脚本的浏览器时,为什么人们将它称为"框架"?
对于一个可能很愚蠢的问题我很抱歉,但当他们说"VanillaJS"时我不知道人们在谈论什么.
我在解析简单的JSON字符串时遇到问题.我在JSONLint上检查了它们,它表明它们是有效的.但是当我尝试使用其中任何一个JSON.parse或jQuery替代解析它时,它会给我错误unexpected token o:
<!doctype HTML>
<html>
<head>
</head>
<body>
<script type="text/javascript">
var cur_ques_details ={"ques_id":15,"ques_title":"jlkjlkjlkjljl"};
var ques_list = JSON.parse(cur_ques_details);
document.write(ques_list['ques_title']);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
注意:我正在使用json_encode()PHP编写我的字符串.
我在我的网站中有一些值,我希望在浏览器关闭时清除,我选择sessionStorage来存储该值,当选项卡关闭时清除它并在用户按f5时保持存储,但如果用户在不同的选项卡中打开一些链接这个值不可用.我如何在我的应用程序之间共享所有浏览器选项卡之间的sessionStorage值?
用例:将值放在某个存储中,在所有浏览器选项卡中保持该值可访问,如果所有选项卡都关闭则清除它.
if (!sessionStorage.getItem(key)) {
sessionStorage.setItem(key, defaultValue)
}
Run Code Online (Sandbox Code Playgroud) 问题就是这一切.我意识到所有选项都可以在最新的浏览器中运行,但是什么是语义上最好的选择,为什么?
我正试图在用户离开我的页面时发布数据.我终于找到了一个可行的解决方案,但是,当用户离开时,它会显示一个确认对话框.我试过return null;但它没有用.是否可以禁用对话框?
window.onbeforeunload = function() {
$.post("track.php", {
async: false,
refid: refid,
country: country,
type: type,
});
return '';
}
Run Code Online (Sandbox Code Playgroud) 我有一个带有两个选项卡的jquery-ui选项卡组件.
<div id="tabs">
@Html.Hidden("SelectedTabId")
<ul>
<li><a href="#Tab-1">Tab1</a></li>
<li><a href="#Tab-2">Tab2</a></li>
</ul>
<div id="Tab-1">
</div>
<div id="Tab-2">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我在Tab-2中时,我会做一些事情,导致tab-2中的某些字段(@ Html.TextBoxFor)以编程方式自动更新,并在某些情况发生时自动更新.因此,在它发生(字段更新)后,页面将被重新加载.重新加载页面后,第一个选项卡Tab-1处于活动状态,但我希望Tab-2处于活动状态,而不是在重新加载页面之前它是活动的.
我正在使用一个隐藏字段,SelectedTabId(参见上面的代码),它保留了当前活动选项卡,因此我使用选项卡活动上的选项卡索引更新它,并且我正在通过请求此值重新加载页面后激活正确的选项卡.见下面的代码:
<script type="text/javascript">
$(function () {
$("#tabs").tabs({ active: $('#SelectedTabId').val()});
}
$(document).ready(function () {
var tabs = $("#tabs").tabs({
beforeActivate: function (event, ui) {
$('#SelectedTabId').val(ui.newTab.index());
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
我希望以前的活动标签在页面重新加载后保持活动状态,但它不起作用,所以我做错了什么?
我正在使用jQuery-ui 1.10.2
如何在浏览器的所有选项卡中关闭我的网站时清除本地存储?意味着如果我的用户在多个选项卡中打开我的网站,并且当用户关闭浏览器或逐个关闭选项卡时,我需要在最后一个选项卡关闭事件上清除本地存储(例如,在"beforeunload"事件中).
有人有想法这样做吗?
谢谢