所以,我有这个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
,它引用了其他内容。问题是只有一半是定义的。具体而言,classPrimary
和classCharge
已定义,而classBillOfLading
和classInvoice
未定义。
这只发生在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
数据。
答案 0 :(得分:2)
事实证明,问题是未加载的发票* .js文件在最后一个函数的末尾有一个,所以它不期望结束。 IE8只是忽略了这一点,就像其他浏览器一样,但是IE9很适合。
答案 1 :(得分:-1)
在真正的IE8中尝试一下。 IE9在IE中引起了很多破坏。