在HTML5应用程序中,我想推迟加载一些大型JavaScript文件,以便为用户提供更快的UI控制。
使用
<script src="myscript.js" async />
在我将节流量设置为2G并观察Chrome开发者工具中的网络流量时,仍然会等到脚本加载后再转发给用户。
在页面加载完成后,我已成功执行以下操作:
$.getScript("myscript.js", function () { gApp.wfSuccessDialog.show(); });
(成功对话框仅用于查看脚本是否已完成加载以进行测试)
这在Chrome,FireFox和Opera中非常有效。它甚至可以在Windows 10 Edge浏览器和非常老的iPhone上使用Safari。
它只是不会在IE11上加载脚本。我可以进入缩小的jQuery代码,看看它运行。它不会抛出任何错误,也不会下载脚本。
我在这里和网上的其他地方搜索过高,但没有找到任何答案。我找到的最接近的是this post,但我没有将它附加到任何事件 - 我在我自己的ajax启动例程中解雇它并且它肯定在运行。只是不在IE11上。
如果有人有这方面的经验我会很感激帮助。即使它是一个不同的方法。在UI弹出之前,我只是不想让我的用户等待在较慢的连接上下载400K脚本库。 (脚本文件加载图表呈现库,可以在用户配置某些选项时等待)
提前感谢您的任何帮助!!
P.S。我的jQuery来自:https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js