【发布时间】:2011-06-24 05:09:37
【问题描述】:
我有一个在 FireFox 4 中运行良好(在 VS 2010 调试中)的 ASP MVC3 应用程序,但是当我在 IE8 中运行该应用程序时,我在 jquery-1.5.1 和 jquery.validate.unobtrusive 中遇到一堆 JScript 错误。
在我的 _SiteLayout.cshtml 中,我包含这样的 JavaScript:
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/QMSCommon.js")" type="text/javascript"></script>
...
<!--bottom of layout page - just before /body -->
@(Html.Telerik().ScriptRegistrar().jQuery(false).DefaultGroup(group => group.Combined(true).Compress(true)))
当我在 IE8 中运行此应用程序时,我立即在 jquery.validate.unobtrusive.min.js 中收到“Microsoft JScript 运行时错误:'undefined' is null or not an object”。如果我继续,我会在 JQuery-1-5-1 中收到“Microsoft JScript 运行时错误:对象不支持此属性或方法”。
我是否包含正确的 JS 文件 - 顺序是否正确(或重要)?
更新:
我已将问题隔离到我的 Javascript(在 QMSCommon.js 中)。该文件的全部内容在这里:
$(document).ready(function () {
//Make fields set to datePicker css class have a datepicker control
$('.datePicker').datepicker(
{ buttonImage: '/content/images/calendar_edit.png',
buttonImageOnly: true,
showOn: 'both'
});
});
如果我注释掉 datepicker 部分,我的网站可以在 IE8 中运行。你有没有看到 IE8 不喜欢这段代码的地方?
【问题讨论】:
-
旁注:telerik 有一些很棒的工具,但是在运行时组合和缩小你的脚本是对系统资源的巨大浪费。你看过Chirpy吗? - 我与他们没有任何关系。您可以在构建时混合/缩小您的 css 和 JS,并且可以拥有随之而来的所有甜蜜的爱好,而无需在运行时执行时大惊小怪。
-
@rock - 感谢您的提示 - 我会检查一下!
-
只是说,我在使用
jquery.dataTables.min.js时遇到了同样的错误,经过多年的搜索,我意识到我的网格的列多于数据单元格(即最后一列未填充) .叹息...希望它能拯救我失去的所有时间。
标签: jquery asp.net-mvc-3 internet-explorer-8