Internet Explorer未加载某些.js文件

时间:2011-08-03 15:20:43

标签: javascript internet-explorer

所以,我有这个aspx页面包含4个javascipt文件,如下所示:

<script src="Scripts/invoicePrimary.js" type="text/javascript"></script>
<script src="Scripts/invoiceBillOfLading.js" type="text/javascript"></script>
<script src="Scripts/invoiceCharge.js" type="text/javascript"></script>
<script src="Scripts/invoiceInvoice.js" type="text/javascript"></script>

每个都定义了一个变量。 invoicePrimary声明classPrimary,invoiceBillOfLading定义classBillOfLading等。

稍后在页面中,我们引用了classPrimary,它引用了其他内容。问题是只有一半是定义的。具体而言,classPrimaryclassCharge已定义,而classBillOfLadingclassInvoice未定义。

这只发生在IE中。在IE9和IE9中都充当IE8。整个网站是为IE设计的,所以剩下的东西在其他浏览器中不起作用,但这部分确实如此。有没有人有任何想法?编辑:作为注释,所有文件都加载,如Visual Studio的脚本文档文件夹中所示。

编辑:存在问题的实际代码:

populateScreenFromObject: function() {
        if (invoiceFolder == null) return;
        if (invoiceFolder.BillOfLadings != null) classBillOfLading.AddList(invoiceFolder.BillOfLadings);
        if (invoiceFolder.Invoices != null) classInvoice.AddList(invoiceFolder.Invoices);
        if (invoiceFolder.Charges != null) classCharge.FirstTimeLoad(invoiceFolder.Charges);
        classInvoice.FirstTimeLoad();
        classCharge.DisableNonDraftRadios();
        classBillOfLading.Add(); // In case BOL number is prepopulated
    },

这是classPrimary中的一个函数,它从主页调用,如下所示:classPrimary.PopulateScreen();此时,classCharge是这些类中唯一定义的类。在此之前发生的唯一事情是从存储在隐藏字段中的json加载invoiceFolder数据。

2 个答案:

答案 0 :(得分:2)

事实证明,问题是未加载的发票* .js文件在最后一个函数的末尾有一个,所以它不期望结束。 IE8只是忽略了这一点,就像其他浏览器一样,但是IE9很适合。

答案 1 :(得分:-1)

在真正的IE8中尝试一下。 IE9在IE中引起了很多破坏。