2

我正在使用 HTML 5 项目模板制作 Windows 8 Phone 应用程序。

我已经使用 nuget 下载了jquery-1.9.1.js,还从这里下载了 jquery.mobile-1.2.0.js并将它们添加到我的项目中。

现在我正在使用以下代码,我正在尝试使用localStorage,我的以下代码适用于 Chrome 和 Firefox,但不适用于 IE 10。

Common.js

$(document).ready(function(){
    alert("jquery started");
    localStorage.selectedCategory = "cc";
    alert("After assignment");
    alert(localStorage.selectedCategory);
})

当我在 IE 10 中运行它时,我在控制台中收到以下错误消息,并且只显示我的第一个警报“jquery 已启动”,其余警报未显示。

SCRIPT5007:无法获取未定义或空引用 jquery.mobile-1.2.0.js 的属性“msie”,第 2536 行字符 5

SCRIPT5007:无法设置未定义或空引用 common.js 的属性“selectedCategory”,第 3 行字符 2

在此处输入图像描述

当我注释掉 localStorage 代码时,会显示所有警报,但控制台中仍然存在一个错误。

SCRIPT5007:无法获取未定义或空引用 jquery.mobile-1.2.0.js 的属性“msie”,第 2536 行字符 5

在此处输入图像描述

我只是似乎不明白这个问题,请帮我解决这个问题。

编辑: 我的 html 代码:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link rel="stylesheet" type="text/css" href="/html/css/phone.css" />
        <title>Interview QA</title>
        <script type="text/javascript" src="../Scripts/jquery-1.9.1.js"></script>
        <script type="text/javascript" src="../Scripts/jquery.mobile-1.2.0.js"></script>
        <script type="text/javascript" src="../Scripts/Custom/common.js"></script>
    </head>
    <body>
      <div id="header"></div>
      <div id="footer"></div>
      <div></div>
    </body>
</html>
4

3 回答 3

2

您可能需要正确的文档类型:

<!doctype html>
于 2013-02-16T05:16:37.663 回答
2

我也有同样的错误。但是当我用关键字“Storage”替换“localStorage”时,它在ie10中工作。像这样修改您的代码并尝试:

$(document).ready(function(){
    alert("jquery started");
    Storage.selectedCategory = "cc";
    alert("After assignment");
    alert(Storage.selectedCategory); })

更新:但这并不等同于本地存储,因为刷新页面时它会被清除。进一步探索后发现 localStorage 不适用于 ie10 中的 file:// 协议。但是,如果您在 Web 服务器(IIS/Tomcat 等)下托管您的页面并通过 http:// 协议访问它,则 localStorage 在 ie10 中可以正常工作。

于 2013-08-23T08:46:25.690 回答
0

jquery 已删除 $.browser 和浏览器检查代码,因此请使用 jquery migrate.js 以避免此问题。

http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/

于 2013-02-27T12:49:12.943 回答