javascript - 不可用的外部资源是否会影响页面加载时间和页面功能?

标签 javascript html asynchronous pageload

据我所知,不可用的外部资源不会影响页面加载时间和页面功能。具体来说,我正在构建一个将托管在外部站点上的跟踪脚本。即使外部站点已关闭,我也需要调用站点仍能完美运行。

<script src="http://thissitemaybedown.com/track.js"></script>

如果网站关闭,根据我所做的测试,即使上述代码位于页面顶部附近,该页面仍然可以正常运行。另外,

((new Image()).src='http://thissitemaybedown.com/track.php?ip=..&name=..');

将在不同时间运行,例如脚本完成时和页面卸载时。

我的问题是:

1) 如果外部网站 (thissitemaybedown.com) 关闭,页面是否仍能正常运行?

2) 我是否应该异步加载此跟踪脚本,无论是在脚本标记中使用 defer 或 async,还是从另一个脚本标记动态加载它(就像 Google Analytics 那样),以确保它不会影响页面?

我在没有异步加载的情况下在我的 Web 服务器上测试了上述内容,它似乎可以正常工作(尽管浏览器的 JS 控制台中出现错误)。我只是想确定一下,因为如果我的客户的网站受到负面影响,他们会非常不高兴。

谢谢!

最佳答案

  1. 即使脚本加载失败,页面仍会加载。浏览器控制台中将会出现错误,显示失败原因。仅当页面中的某些代码依赖于您的脚本时,这才会导致问题。

  2. 如果有以异步方式加载脚本的选项,您应该尝试这样做。

关于javascript - 不可用的外部资源是否会影响页面加载时间和页面功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24377835/

相关文章:

javascript - 将 1 添加到 Javascript 中的 css 样式属性

javascript - 从十六进制哈希生成范围内的 float

javascript - 有没有办法在一个 div 容器中放置 n 个 div

html - HTML 列表项应该包含 <h#> 标签吗?

ajax - 如何减少 MVC 应用程序的等待时间 (TTFB)

c# - Async WebClient 不是真正的异步?

javascript - 在 AngularJS 中设置服务变量时遇到问题

javascript - 从客户端浏览器直接上传 Amazon S3 文件 - 私钥泄露

css - 以一致的行为实现 html5 粘性样式属性

c# - WinRT 记录到文件