我有一个网站( http://dev2.liquor.com ),当我删除我们的合作伙伴给我们的广告商和跟踪脚本时,加载速度非常快。 当然,我们需要将页面加载时间从6秒缩短到1秒,而且我发现它是我们用于合作伙伴追踪,广告等的所有外部js文件的100%。
我一直在撞墙,试图find替代方法来加载/压缩/服务用户需要下载的众多js。 我可以很容易地压缩/缩小我的内容,但其他人不在我们的服务器上正在变得很难这样做。
我能做的最好的是在YSlow上获得一个C,并且他们给我的每个build议都属于我的愚蠢的跟踪js脚本!
我认为主要的问题是跟踪( http://pastebin.com/faMDGrrs ),我可以看到在状态栏导致网站加载很长。 关于如何处理这个问题的思考?
是否有可能在我的网站pipe理第三方脚本?
任何帮助将不胜感激。
这里有一些客户端的JS我扔在一起(基于谷歌分析asynchronous跟踪代码段),这将允许您加载外部Javascriptsasynchronous:
<script type="text/javascript"> (function() { var scripts = new Array( 'external.domain.com/script1.js', 'external.domain.com/script2.js', '../script1.js', './script2.js', '/script3.js' ); if ( scripts.length ) { for ( var i = 0; i < scripts.length; i++ ) { var asynchronous = document.createElement('script'); asynchronous.type = 'text/javascript'; asynchronous.async = true; if ( scripts[i].substring(0, 1) != '/' && scripts[i].substring(0, 1) != '.' ) { // assume external domain (enforce protocol) asynchronous.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + scripts[i]; } else { // assume relative URI asynchronous.src = scripts[i]; } var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(asynchronous, s); } } })(); </script>
将第三方脚本放入iframe可能是另一种select。
常识是,iframe的成本很高(在负载方面),但如果成本低于加载第三方元素的成本,则可以尝试一下。
你可能做了大部分这里描述的东西,但无论如何这是一个很好的资源。