在我的网络应用程序中,您可以打开一个加载报告的 iframe(类似于 Excel 电子表格)。报告会打开一段时间(15-20 次)。在某些时候,我将开始总是收到有关未定义剑道的 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>
因此出于某种原因,在使用我的应用一段时间后,脚本将以错误的顺序加载。
所以我在每个脚本的顶部添加了 console.log("all") 和 console.log("sage")。正常工作时,我可以依次看到“all”和“sage”,但是当我开始收到 kendo 未定义错误时,我看到的只是“sage”日志,而不是“all”。
我们使用的是 ASP.NET MVC,脚本在我们的布局文件中的 head 部分。
什么会导致脚本以错误的顺序运行?
最佳答案
head section里的都是脚本吗?如果没有,则将自定义文件移至页脚并在页面加载后加载自定义脚本,这将确保自定义文件在主文件之后加载
$(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
关于javascript - 为什么 JS 脚本以错误的顺序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947064/