gpt4 book ai didi

javascript - IE 8 - 脚本并不总是加载

转载 作者:行者123 更新时间:2023-11-29 10:51:25 24 4
gpt4 key购买 nike

一段时间以来,这一直是我团队中的一个常见问题。显然没有任何原因,IE8 有时只加载脚本。我正在使用 asp.net mvc3,一些脚本是通过 _layout.cshtml 加载的(这就像我所有其他页面继承的母版页)。另一组脚本仅在需要时加载。我必须提到我开始使用 Head.js 来加载我的脚本。我实际上希望它能解决 IE8 脚本加载问题。

这些问题不会发生在 firefox 或 chrome 上(这是另一个动机,我确信它只发生在 IE 上)。看起来,如果单个脚本在 IE8 上中断,则此中断会传播到其他脚本。

我知道这可能是一个过于广泛的问题,无法仅通过上述情况来解决。所以我想知道的是你遇到过这样的问题吗?如果是,您是如何解决的?我非常感谢您提供的指导,因为我必须使用 IE。

这是在 _layout.cshtml 上加载的脚本,按照加载顺序:

  • Head.js;
  • jquery-1.5.1.min.js;
  • modernizr-1.7.min.js;
  • jquery-ui-1.8.11.min.js;
  • jquery.ui.datepicker-pt-BR.js;
  • jquery.validate.min.js;
  • jquery.validate.unobtrusive.min.js;

这些是我在某些页面上使用的其他一些脚本(不按顺序排列):

  • jquery-blockUI.js;
  • jquery.jqGrid-4.1.2.min.js;
  • jquery.orbit-1.2.3.min.js;
  • jquery.jqplot.min.js(以及其中的一些渲染器);
  • jquery.form.wizard-min.js;
  • ZeroClipboard.js;

编辑

作为 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

正如 Zeta 所问,我正在提供来自 IE 控制台的打印件(来 self 的图表和图形页面)。

enter image description here

因为我是巴西人,所以它是葡萄牙语。虽然很容易理解:这意味着 'jqplot' 为 null 或不是对象。 就像 jqplot 从未加载或在加载期间出现问题一样。

最佳答案

我决定这样做:

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");
});

希望对你有帮助

关于javascript - IE 8 - 脚本并不总是加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com