页面完全加载后加载外部JS文件

时间:2017-05-04 11:46:03

标签: javascript dom asynchronous loading

我创建了一个由其他几个网站使用的vanillaJS脚本。脚本服务器上周停机了几分钟,结果是使用该脚本的几个站点没有正确加载(速度慢,页面根本没有加载,错误等),因为网站一直在“等待” “为外部脚本加载。

我注意到所有这些网站都有头像。我建议将脚本标记移动到页脚并添加“async”属性。但这是最好的解决方案吗?

图片的标题说明:

  • 无法使用jQuery
  • 无法使用Angular或React等框架
  • 最好不要在网站上使用额外的JS
  • 该脚本创建了自己的内容,并且不依赖于任何内容 它所服务的页面。它只是创建了一个包含来自a的内容的div datababase静态服务于非常基本的JS以避免跨站点 错误。

提前致谢。

1 个答案:

答案 0 :(得分:2)

async将使脚本异步加载,并在页面读取时执行。 defer会在页面加载后使脚本执行,尽管它高度依赖于我的测试IE9的浏览器,IE8支持这一点。您可以使用此defer in fiddler

进行快速检查

但是还有一个替代方案是将脚本标记放在底部

<script>
window.onload = function() {
    var element = document.createElement("script");
    element.src = "vanillaJS .js";
    document.body.appendChild(element);
};
</script>

但我想这些不会解决你的问题,因为服务器故障导致脚本无法访问。我建议在网站文件夹中有脚本的本地副本并引用它。