哪个javascript加载选项对页面加载时间的影响可以忽略不计

Which javascript loading option would have the most negligible effect on page load time?

本文关键字:加载 影响 时间 选项 javascript 哪个      更新时间:2023-09-26

假设我在www.website.com/javascripts/application.js的服务器上托管了一个javascript文件,我希望第三方网站加载该文件。

在那些第三方网站上,你可以添加:

<script src="www.website.com/javascripts/application.js" type="text/javascript"></script>

但在完全加载页面之前,它需要评估所有javascript。

相反,如果第三方网站有类似的东西

<script type="text/javascript>
  var script = document.createElement('script');
  script.setAttribute('type', 'text/javascript');
  script.setAttribute('src', 'www.website.com/javascripts/application.js');
  document.getElementsByTagName('head').appendChild(script);
</script>

这对页面加载时间有什么影响吗?它会异步加载javascript文件吗?

如果网站有怎么办

<script src="www.website.com/javascripts/dynamic_loader.js" type="text/javascript"></script>

哪个链接到一个脚本,该脚本动态构建了链接到application.js文件的脚本标记,如上面的示例所示?

哪一个是最好的选择,为什么?有没有更好的方法来加载我不知道的第三方javascript?

您的第二个选项将异步加载脚本,并且页面可以在加载脚本之前显示。如果您正在优化页面显示时间,并且不需要使用页面初始化脚本,那么这可能是一个优势。如果在页面完全填充之前,其他一切都必须等待脚本加载,那么这可能是一个缺点(并且不会加快整个页面的加载速度)。

所以,这实际上取决于剧本的作用。Google Analytics是一个可以成功异步加载的完美例子,因为它是100%独立的。页面上的其他内容都不依赖于它。它的加载时间与页面显示无关。

异步加载不会真正受益的一个例子是,在显示初始内容中具有不可或缺作用的脚本,或者具有在显示初始属性中具有不可或缺角色的从属脚本的脚本。由于无论如何都要加载完内容才能看到内容,所以进行异步加载并没有真正的帮助。

当您只想在实际需要时(如果有的话)按需加载模块时(不一定是在页面加载时),动态加载(您的最后一个选项)是最有用的。