我有一个 ASP MVC3 应用程序,可以在 FireFox 4 中正常运行(在 VS 2010 调试中),但是当我在 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 运行时错误:‘未定义’为 null 或不是对象”。如果继续,我会在 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'
});
});
如果我注释掉日期选择器部分,我的网站可以在 IE8 中运行。您是否发现此代码中有任何 IE8 不喜欢的内容?
最佳答案
好吧,这有点尴尬。最初的问题是由于我没有包含 jquery-ui 脚本:-)。 Firefox 没有抛出错误,IE 却抛出错误,但不是在 .datepicker 处,而是在 jQuery 深处的某个地方,这让我很失望。无论如何。
此外,我还更新了我的代码以从 Google 获取 JQuery 内容:
效果很好。
关于jquery - ASP MVC3 应用程序在 IE8 中引发 JScript 错误,但在 FireFox 4 中正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463648/