所以,我正在尝试为一个基本的javascript类创建一个简单的代码,以保持用户的登录状态。他们登录的功能如下
function userLogon() {
sessionStorage.logon = "false";
var name = document.getElementById('userName').value;
var password = document.getElementById('password').value;
if (name == "user" && password == "pass") {
**sessionStorage.logon = "true";**
alert('Logon successful!');
window.location = "home.html";
}
else {
alert('Invalid Logon attempt!');
sessionStorage.logon = "false";
}
}
我只是在用户名和登录中进行硬编码,因为我还没有任何数据库经验,仅用于测试目的。我正在和我的老师谈论它,通过电子邮件发送给我我的整个网站,他说这对他来说很好,所以为什么它在我的机器上不起作用,它让我无法设置属性错误粗线......
我正在Windows 8上运行IE 10.0.11,并运行了一个检查会话存储兼容性的脚本,它回来了......所以......它理论上应该有效吗?问题到底是什么?
答案 0 :(得分:2)
我快速搜索了“sessionStorage IE10”,它显示了一个像这样的stackoverflow问题。问题是,如果通过HTTP(换句话说,通过Web服务器)访问页面,sessionStorage仅在IE 10中可用。直接从文件系统打开HTML页面时它不起作用,例如“file:// C:/Users/blah/test.html”
答案 1 :(得分:0)
我刚刚写了一篇关于这个问题的blog post。
基本上Brandon是正确的,因为Internet Explorer 10不支持从本地磁盘加载的页面上的功能,即使似乎没有关于此行为的官方文档。
如果您正在寻找替代方案,您一定要查看这个stackoverflow帖子,其中列出了几个解决方案: HTML5 Local Storage fallback solutions