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

时间:2013-09-30 17:19:44

标签: c# javascript jquery asp.net jquery-ui

我只是尝试将我的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库没有被加载。

4 个答案:

答案 0 :(得分:18)

jQuery.browser在jQuery 1.9中已经removed(并且你使用了1.10),因此任何将其作为对象处理的尝试(即访问其msie属性)注定会失败。如果您仍想使用它,请包含jQuery migrate插件和jQuery

答案 1 :(得分:3)

我将jquery-ui更新为1.11.3,问题就消失了。

答案 2 :(得分:1)

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

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>

答案 3 :(得分:0)

jquery-browser-plugin现在提供$ .browser对象。包括$ .browser.msie