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

标签 javascript html kendo-ui

在我的网络应用程序中,您可以打开一个加载报告的 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>

当一切顺利时,fiddler 显示 enter image description here

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

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

所以我在每个脚本的顶部添加了 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/

相关文章:

javascript - 在 AngularJS 中为列表项加载部分 *没有* 路由

JavaScript null 不是垂直高度可变的对象和中心矩形

javascript - 在 reducer 中未触发 redux-toolkit 操作

javascript - 如何将数字过滤器添加到 Angular 6 中的 Algolia ais-instantsearch 组件

javascript - HTML 脚本标签 : type or language (or omit both)?

html - Chrome 不显示 css 背景图像

asp.net-mvc-3 - 如何在带有 Razor 的asp.net mvc3中使用Kendo UI Editor?

javascript - 如果使用 GET 方法,AJAX 请求无法将 DateTime 传递到服务器

javascript - 如何让我的页面在不滚动的情况下按比例显示?

javascript - 我可以更改 MVC 中 Kendo UI 网格的工具提示默认操作吗?