Javascript 简单脚本中的jScript调试器错误

Javascript 简单脚本中的jScript调试器错误,javascript,jquery,jstorage,Javascript,Jquery,Jstorage,我正在处理一个本地html文件,存储在Win7机器上,并在IE9中打开。此html文件使用javascript和jStorage 但是,当我运行时,会出现错误“SCRIPT5007:无法获取属性“set”的值:对象为null或未定义”。此错误指向语句$.jStorage.set(“Key”,“Hello”) 我做错了什么?为了缩小范围,我已经尽可能地使html和javascript变得基本 以下是html: <!DOCTYPE html> <html> <h

我正在处理一个本地html文件,存储在Win7机器上,并在IE9中打开。此html文件使用javascript和jStorage

但是,当我运行时,会出现错误“SCRIPT5007:无法获取属性“set”的值:对象为null或未定义”。此错误指向语句
$.jStorage.set(“Key”,“Hello”)

我做错了什么?为了缩小范围,我已经尽可能地使html和javascript变得基本

以下是html:

<!DOCTYPE html>
<html>
    <head>
    <title>Backlog Tracker</title>
    <script src="jquery-2.1.1.min.js"></script>
    <script src="json2.js"></script>
    <script src="jstorage.min.js"></script>
    <script src="backlog.js"></script>
    </head>
    <body>
    </body>
</html>
$(document).ready(function(){
    $("body").append("<button>Try It</button>");
    $("button").click(function(){
    $.jStorage.set("Key", "Hello");
    console.log($.jStorage.get("Key"));
    });
});

积压跟踪程序
。。。下面是脚本(在html中被称为“backlog.js”):

$(文档).ready(函数(){
$(“body”).append(“Try It”);
$(“按钮”)。单击(函数(){
$.jStorage.set(“Key”,“Hello”);
log($.jStorage.get(“Key”);
});
});

作为补充说明,我已经阅读了其他关于SO的问题,例如,但似乎没有什么可以解释这一点。参考jStorage用法,一切似乎都井然有序。我最初被指向jStorage是因为。

localStorage在IE中不适用于本地文件。它在Chrome中适用,但在IE中不适用

如果您的文档中有
,IE 9也支持JSON


尝试运行一个小型的本地web服务器。

您只是作为文件访问此HTML文件,还是作为本地服务器系统的一部分(即localhost:80/page.HTML)?localStorage值必须与主机名相关联,我怀疑浏览器能否将“file://”视为主机名。它只是作为文件进行访问。localStorage将不起作用,但基于上面的一个链接()我希望jStorage可以作为一种解决方法。错误消息表明
$。jStorage
未定义-如果您执行
console.log($.jStorage)
您会得到什么?我假设在日志的前面没有加载错误?@CupawnTae:在日志的前面没有加载错误。如果我在
$.jStorage.set(“Key”,“Hello”)之前插入
console.log($.jStorage)
,我得到“LOG:undefined”Ok,所以问题肯定是jStorage没有正确加载。有可能@Mooseman的回答解释了原因,所以我建议你更新他的建议,看看是否有帮助。这能解释这种行为吗?jStorage应该提供回退,并且“如果浏览器不支持数据缓存,则不会引发异常-脚本仍然可以使用jStorage,但实际上没有存储任何内容。”()。请检查
$.jStorage.storageAvailable()
以及
$.jStorage.currentBackend()的内容
is?您是否尝试过使用
jquery.json-2.3.min.js
而不是
json2.js
,请参阅?
$。jStorage
未定义-请参阅有关问题的评论。所以,
$.jStorage.storageAvailable()
只会抛出一个错误。它与include代码一起工作吗?这可能是版本问题。此外,如果不需要IE7,您可能希望切换到较新的版本。