
使用异步脚本
异步脚本的使用对于页面速度来说是一个相对较新的概念。简而言之,异步脚本加载使得脚本可以从您通常的页面渲染路径中单独加载。使用这种类型的脚本加载对您的初始视图加载时间有奇效。
为什么异步脚本对页面速度有好处?
通过使用异步脚本,您可以确保加载这些脚本不会以任何方式阻碍您网页的渲染,因为它们是从实际页面单独加载的。因此,即使加载一个非常慢的脚本,您的网页也可以完成渲染,而不必等待脚本完成加载,该脚本不被认为是页面需要渲染页面第一视图的文件的一部分。这意味着无论脚本是否加载,访问者都可以看到您的内容。
哪些脚本应该异步加载?
您不能异步加载所有脚本。原因是其中一些脚本是您网页初始视图所需要的。这些脚本必须同步加载,因为您的网页需要它们来正确显示您的网页。因此,您只能异步加载那些您不需要用于初始视图的脚本。
如何让您的JavaScript文件异步加载?
使用Async标签(推荐)
<script src="yourscript.js" async></script>
** Async几乎适用于所有浏览器版本,但不支持某些较旧的浏览器。虽然这不再是问题,因为大多数浏览器今天都使用预加载扫描器(甚至包括较旧的浏览器),并且可以处理这些脚本。
还有另一种较旧的代码也可以异步加载JavaScript文件。这是过去使用的代码,但它现在比async更加过时。今天对推荐的async版本的支持已经足够了。不过,如果您仍然希望使用它,这里是代码:
较旧的JavaScript代码(不推荐)
<script>
var resource = document.createElement('script');
resource.src = "//domain.com/thescript.js";
var script = document.getElementsByTagName('script')[0];
script.parentNode.insertBefore(resource, script);
</script>
Google Adsense、Analytics和Plus
Google为他们的许多服务提供了很棒的异步脚本。如果您最近实施了他们的某个脚本,几乎可以肯定您已经在使用他们的异步脚本,因为这是他们现在的默认设置。但如果您的网站上有这些脚本的较旧版本,您很可能正在使用他们的旧同步版本。没有理由再使用同步脚本了,您应该用更新的异步版本更新它们。以下是有关如何为每个特定的Google服务执行此操作的更多信息:
- Google Adsense异步广告
- Google Analytics异步跟踪
- 异步Google Plus按钮
- 异步Google Maps加载
大多数主要网络服务使用异步脚本
如今,大多数流行的网络服务都为其外部网络服务使用异步脚本。Disqus、Pinterest、Facebook、Twitter和大多数其他广泛使用的服务。因此,对于您在网站上使用的大多数外部服务,您实际上不必担心异步加载它们,这已经为您完成了,除非您使用它们的较旧代码。