我有一个包含来自外部网址的第三方Javascript网站。但是,它经常加载非常缓慢(如果有的话)。这是我们的营销团队使用的跟踪服务,所以我无法将其删除(我已经建议了!)。
目前它包含在我的页面模板末尾,非常简单
<script src='http://remoteurl/'></script>
页面上的所有其他脚本在执行任何操作之前一直等到它已加载,这意味着我正在使用的任何JS小部件在加载之前都不起作用。如果它超时,它们永远不会运行。
因此,外部网站的性能问题导致我们网站出现问题。
令人沮丧的是,该网站不需要此脚本来加载其他所有功能。那么有没有办法加载它,以便它不会阻止站点的其余部分在运行失败时运行?
(我已经尝试了defer属性,但是虽然这会影响执行顺序,但它不会改变事情,即在发生任何事情之前必须加载所有内容)
感谢您的任何建议。
答案 0 :(得分:4)
请参阅 this question 。方法是动态地onload创建脚本元素,因此它不会阻止或延迟加载本身。
答案 1 :(得分:0)
您是否可以在页面的最末尾添加代码,将脚本标记添加到页面而不是手动添加脚本标记?这就是Google Analytics处理它的方式。这样,其余的(您的)代码在跟踪器代码甚至添加到页面之前运行。
样品:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("tracker-id-removed");
pageTracker._trackPageview();
} catch (err) { }
</script>