- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的代码:
sessionStorage.loggedIn = true;
if (sessionStorage.loggedIn) {
alert('true');
}
else {
alert('false');
}
很简单。关于 JavaScript 如何计算这些表达式,肯定有一些我不理解的小事。当我输入 sessionStorage.loggedIn = false
时,“false”警报正确显示。但是,当我将 sessionStorage.loggedIn
更改为 true 时,“false”警报仍然弹出,即使在清除 session 之后也是如此。这个表达我有什么不对的地方?看起来很简单,也许我只是需要另一双眼睛。
最佳答案
尝试将您的代码更改为
sessionStorage.setItem('loggedIn',JSON.stringify(true));
if (JSON.parse(sessionStorage.getItem('loggedIn'))) {
alert('true');
}
else {
alert('false');
}
并且它应该在所有主要浏览器上一致地工作。
setItem
/getItem
方法的接口(interface)是编写规范的方式,因此采用这种方式比使用分配属性的快捷方式更安全。此外,sessionStorage
和 localStorage
一样是一种基于文本的存储机制,并不意味着存储对象,因此您需要使用 JSON.parse
包装调用和 JSON.stringify
以获得全面的预期结果。
请注意 JSON.parse
并不总是能很好地处理未定义/空值,因此首先进行一些类型检查可能是明智的。
关于javascript - sessionStorage 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18319686/
我一直在做一些关于 cookie、sessionStorage、localStorage 的研究,但对 $sessionStorage 的了解很少。 在开发者工具中哪里可以查看 $sessionSto
我正在尝试使用 sessionStorage 中的“isCollapse”变量来减少导航栏。通过单击该按钮,我的 sessionStorage 会发生变化,但渲染不会更新。 JSX Code {
我有一个单页 AngularJS 应用程序,并通过 websockets 不使用 cookie 来验证我的网站。这意味着刷新会使用户注销。将密码存储在 sessionStorage 上以便它们可以在
我在 ASP.NET MVC 应用程序的布局页面中有以下 JavaScript 代码,用于将用户的浏览器范围 ID 存储为 cookie,以便我可以访问服务器端 session 中相应用户的信息。
我不明白 sessionStorage 是如何工作的。我希望仅在初始页面加载时发生一个事件。 我(尝试)通过检查 session 是否是新的来做到这一点。想法如下: $(function() {
我有这段JS: $('.go-to-bag').click(function () { var productId = $(this).parent().attr('id'); var product
我有这样的代码: Some Some 1 Some 2 Some 3 Some 4
我有一个 javascript 函数,每当特定 select 发生更改时,就会进行 3 个 ajax Json 调用,并填充 3 个 sessionStorage 项,这些项用于创建动态下拉菜单。 /
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
我有包含此函数和代码的 PHP 文件: var values7 = ; var value7 = new Array; var time
这是我的代码: sessionStorage.loggedIn = true; if (sessionStorage.loggedIn) { alert('true')
我想知道如何从我的自定义方法中访问 native sessionStorage 范围。 我的例子: https://jsfiddle.net/3mc7ao7j/1/ 在第 3 行,我希望能够在对数据执
我试图实现这段代码,但在我的控制台中它说 thing is null 这很奇怪,因为当我查看控制台时,sessionStorage 不是空的...... $(".btn-alert").click(f
根据我对 Web 存储的(贫乏)理解,sessionStorage 对象是按选项卡维护的,它在页面重新加载和页面导航后仍然存在,并且在选项卡关闭或浏览器进程终止时被销毁。 有没有办法监听 sessio
我正在使用 sessionStorage 来确保每个 session 只发生一次操作。但是,如果用户打开一个新窗口 - sessionStorage 不会转移到新窗口,并且会再次执行该操作。请参阅下面
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
在我的网络表单上,我使用 sessionStorage HTML5 的功能可以存储表单中的值,然后将它们显示在“谢谢”页面上,作为查询的确认收据。 我已成功存储除 之外的每种输入类型的值。元素。 我
我是 HTML5/Javascript 新手,我认为有一个概念问题。我使用 Aptana 作为我的环境,它使用 FireFox 进行浏览器调试。 这是有问题的代码: var req = new Con
在下面的示例中(在 jsfiddle 中,依赖于 requirejs),控制台第一次输出 theUsername 和 http://nothing&username=null ,然后如果您再次运行它,
Login.vue是我设置sessionStorage的地方 sessionStorage.setItem('accessToken', response.data.response.accessTo
我是一名优秀的程序员,十分优秀!