首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE8-脚本并不总是加载

IE8-脚本并不总是加载
EN

Stack Overflow用户
提问于 2012-02-29 13:41:54
回答 2查看 3.5K关注 0票数 3

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

这些问题不会发生在firefox或chrome上(这是另一个动机,我相信它只发生在IE上)。正如看起来的那样,如果单个脚本在IE8上中断,这个中断就会通过其他脚本传播。

据我所知,这可能是一个过于广泛的问题,不能用上述情况来解决。所以我想知道的是,,你有这样的问题吗?如果是的话,你做了什么来解决它呢?我真的很感激一些指导,因为我必须使用IE。

下面是按加载顺序在_layout.cshtml上加载的脚本:

  • 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;

  • Head.js

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

  • jquery-blockUI.js;
  • jquery.jqGrid-4.1.2.min.js;
  • jquery.orbit-1.2.3.min.js;
  • jquery.jqplot.min.js (有些是renderers);
  • jquery.form.wizard-min.js;
  • ZeroClipboard.js;

编辑

正如T.J.所要求的那样,由于仅仅使用脚本的名称很难识别问题,所以它就在这里。

加载在上的_layout.cshtml脚本

代码语言:javascript
复制
<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>

加载在图表和图形页上的脚本

代码语言:javascript
复制
@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这样的在加载过程中从来没有加载过或者遇到过一些问题。

EN

回答 2

Stack Overflow用户

发布于 2012-10-26 10:03:14

我决定这么做:

代码语言:javascript
复制
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");
});

希望它能帮上忙

票数 2
EN

Stack Overflow用户

发布于 2012-02-29 13:46:04

广泛的问题,所以我不能保证这会解决它。

但我想大约一年前,我遇到了IE8和脚本标签的问题,这听起来就像你的。

我注意到,如果脚本标记中没有添加的所有附加内容:

Type=文本/javascript“language="javascript”

服务器没有发送http头->内容类型: text/javascript

它不起作用。

给它一张支票,但这就是我所得到的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9500217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档