为什么JS脚本的运行顺序错误

时间:2015-11-26 21:12:37

标签: javascript html kendo-ui

在我的网络应用中,您可以打开加载报告的iframe(类似于Excel电子表格)。报告开放一段时间(15-20次)。在某些时候,我将开始总是得到关于kendo未定义的JS错误,我偶尔会在IE控制台中出现“内存不足”错误。

正如您在我的HTML中看到的那样,kendo.all.min.js文件位于kendo.sage.custom.min.js文件之前。

<script type="text/javascript" src="/Scripts/kendo/web/kendo.all.min.js"></script>
<script type="text/javascript" src="/Scripts/kendo/kendo.sage.custom.min.js"></script>

当一切顺利时,小提琴手会显示enter image description here

但是当我开始收到错误时,我会看到以下内容:scripts wrong order

因此,出于某种原因,在使用我的应用程序一段时间后,脚本将以错误的顺序加载。

所以我在每个脚本的顶部添加了console.log(“all”)和console.log(“sage”)。当我正常工作时,我可以看到“全部”然后“圣人”,但是当我开始得到剑道未定义错误时,我看到的只是“圣人”日志,而不是“全部”。

我们正在使用ASP.NET MVC,脚本位于head部分的布局文件中。

什么可能导致脚本以错误的顺序运行?

1 个答案:

答案 0 :(得分:1)

头部的所有脚本都是?如果没有,则在页面加载后将自定义移动到页脚并加载自定义脚本,这将确保在主文件之后加载自定义文件

$(window).load(function(){
var element = document.createElement("script");
element.src = "/Scripts/kendo/kendo.sage.custom.min.js";
document.body.appendChild(element);
});

有关您的回答,请参阅此链接 load and execute order of scripts