一段时间以来,这一直是我团队中的一个常见问题。完全没有理由,IE8有时只加载脚本。我使用的是asp.net mvc3,有些脚本是通过_layout.cshtml加载的(这就像我所有其他页面继承的母版页)。另一组脚本仅在需要时才加载。我必须指出,我开始使用Head.js加载我的脚本。实际上,我希望它能够解决IE8脚本加载问题。
这些问题不会发生在firefox或chrome上(这是另一个动机,我相信它只发生在IE上)。正如看起来的那样,如果单个脚本在IE8上中断,这个中断就会通过其他脚本传播。
据我所知,这可能是一个过于广泛的问题,不能用上述情况来解决。所以我想知道的是,,你有这样的问题吗?如果是的话,你做了什么来解决它呢?我真的很感激一些指导,因为我必须使用IE。
下面是按加载顺序在_layout.cshtml上加载的脚本:
A这些是我在某些页面上使用的其他脚本(不按顺序排列):
编辑
正如T.J.所要求的那样,由于仅仅使用脚本的名称很难识别问题,所以它就在这里。
加载在上的_layout.cshtml脚本
<head>
<script src="@Url.Content("~/Scripts/head.min.js")" language="javascript" type="text/javascript"></script>
//Lots of css files loaded mostly through document.write
<script type="text/javascript" language="javascript">
// if (head.browser.mozilla || head.browser.webkit || head.browser.opera ||
// (head.browser.ie && (head.browser.version == '9.0'))) {
head.js('@Url.Content("~/Scripts/jquery-1.5.1.min.js")')
.js('@Url.Content("~/Scripts/modernizr-1.7.min.js")')
.js('@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")')
.js('@Url.Content("~/Scripts/jquery.ui.datepicker-pt-BR.js")')
.js('@Url.Content("~/Scripts/jquery.validate.min.js")')
.js('@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")');
if (screen.width == 1024) {
head.js('@Url.Content("~/Scripts/resolucao1024.js")');
} else {
head.js('@Url.Content("~/Scripts/resolucaoMaior1024.js")');
}
</script>
@RenderSection("Header", false)
</head>加载在图表和图形页上的脚本
@section Header{
<script type="text/javascript" language="javascript">
head
.js('@Url.Content("~/Scripts/jquery-blockUI.js")')
.js('@Url.Content("~/Scripts/jqGridMVC/grid.locale-pt-br.js")')
.js('@Url.Content("~/Scripts/jqGridMVC/jquery.jqGrid-4.1.2.min.js")')
.js('@Url.Content("~/Scripts/jquery-ConfigAjax.js")')
.js('@Url.Content("~/Scripts/jqPlot/jquery.jqplot.min.js")')
.js('@Url.Content("~/Scripts/jqPlot/jqplot.highlighter.min.js")')
.js('@Url.Content("~/Scripts/jqPlot/jqplot.dateAxisRenderer.min.js")')
.js('@Url.Content("~/Scripts/jqPlot/jqplot.pieRenderer.min.js")')
.js('@Url.Content("~/Scripts/jqPlot/jqplot.donutRenderer.min.js")')
.js('@Url.Content("~/Scripts/jqPlot/jqplot.cursor.min.js")');
</script>
}编辑2
噢!我忘记提到,每次调用javascript功能时,我都使用head(function() {})而不是$(function(){}) (在head.js站点上推荐使用)。
编辑3
正如泽塔所问的,我提供了一个来自IE控制台的打印(它来自我的图表和图形页面)。

因为我是巴西人,所以是葡萄牙语。不过,很容易理解:它意味着' jqplot‘是空的,或者不是一个对象,像jqplot这样的在加载过程中从来没有加载过或者遇到过一些问题。
发布于 2012-10-26 10:03:14
我决定这么做:
head.js("js/jquery-1.7.1.min.js",
function() {
head.js("js/script.js");
head.js("js/script1.js");
head.js("js/script2.js");
head.js("js/script3.js");
});希望它能帮上忙
发布于 2012-02-29 13:46:04
广泛的问题,所以我不能保证这会解决它。
但我想大约一年前,我遇到了IE8和脚本标签的问题,这听起来就像你的。
我注意到,如果脚本标记中没有添加的所有附加内容:
Type=文本/javascript“language="javascript”
服务器没有发送http头->内容类型: text/javascript
它不起作用。
给它一张支票,但这就是我所得到的
https://stackoverflow.com/questions/9500217
复制相似问题