如何延迟JavaScript文件的加载
How to defer loading of JavaScript file?
我不想在启动时调用JavaScript函数。原因很简单,它将减少初始下载大小,页面将出现得更快。为了做到这一点,我在head节中使用了以下代码…
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "deferredfunctions.js";
document.body.appendChild(element);
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
但它没有工作…
通常,最好将脚本放在正文的末尾,并立即调用它们。
脚本阻止了页面的加载,所以把它们放在正文的末尾可以让页面快速加载,并且javascript将加载已经准备好的页面。
document.head.appendChild(element)
您可以使用<script defer>
(HTML脚本标签上的defer属性)
的例子:
<script src="link/to/yourfile.js" defer></script>
defer
将在HTML解析期间下载该文件,并仅在解析器完成后执行该文件。延迟脚本也保证按照它们在文档中出现的顺序执行。
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件