开发者问题收集

JavaScript 运行时错误:无法获取未定义或空引用的属性“msie”

2013-09-30
28922

我刚刚尝试将 jquery ui 引用更改为母版页。我只在 Internet Explorer 上收到上述错误。 我在 Firefox 和 Chrome 上没有收到错误。

这是引发错误的 jquery 代码:

return a.browser.msie?(b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),b<c?a(window).width()+"px":b+"px"):a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function()

我有以下母版页:

<head id="Head1" runat="server">
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css"
        type="text/css" />
    <asp:ContentPlaceHolder ID="ExtraHeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>


 <form id="form2" runat="server">
    <asp:ScriptManager ID="ScriptManagerService" runat="server">
        <Scripts>
            <asp:ScriptReference Path="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ScriptMode="Auto" />
            <asp:ScriptReference Path="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" ScriptMode="Auto" />
        </Scripts>
    </asp:ScriptManager>
</form>
</body>

请告诉我我需要做什么? 我尝试将 jquery 引用放在 head 部分,但我的 aspx 文件中的 jquery 代码似乎给出错误,指出“dialog”对象未定义或“tooltip”对象未定义。我认为当我尝试将引用放在 head 部分时,jquery 库没有加载。

3个回答

jQuery.browser 已在 jQuery 1.9(而您使用的是 1.10)中 删除 ,因此任何将其作为对象处理(即访问其 msie 属性)的尝试都注定会失败。如果您仍想使用它,请将 jQuery 迁移 插件与 jQuery

一起包含
raina77ow
2013-09-30

我将 jquery-ui 更新至 1.11.3,问题消失。

Roger Perkins
2015-03-12

从给定的链接向您的项目添加库。

http://code.jquery.com/jquery-migrate-1.2.1.js

在您的页面中通过以下链接注册

<script type="text/javascript" src="code.jquery.com/jquery-migrate-1.2.1.js"></script>
Shahbaz Ahmad
2014-05-29