无论我如何尝试加载 AddThis(默认使用 Google +1、Facebook Send 和 Like 和 Twitter 按钮),Google Page Speed仍然会发出以下警告:
- 利用浏览器缓存
- 延迟 Javascript 的解析
在这些项目中的每一项中,都引用了对 AddThis、Facebook、Google +1、Twitter 和 static.ak.fbcdn.net 的 .html 和 .js 引用。事实上,如果你在这个页面上运行 Google Page Speed:http: //support.addthis.com/customer/portal/articles/381263-addthis-client-api-#rendering-js,你会看到我到底是什么谈论。前两项都带有橙色严重性图标(至少对我而言),正是我上面提到的。
我尝试使用 defer(对于 IE)和 async(对于 FF 和 Chrome)将脚本标签添加到我的页面头部,但没有成功:
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=myUserId" defer="defer" async="async"></script>
我试过使用 $.getScript():
$(document).ready(function () {
$.getScript('http://s7.addthis.com/js/250/addthis_widget.js#async=1#username=myUserId', function(data, textStatus) {
addthis.init();
});
});
我还尝试打开 ajax 缓存:
$(document).ready(function () {
$.ajaxSetup({ cache: true });
$.getScript('http://s7.addthis.com/js/250/addthis_widget.js#async=1#username=myUserId', function(data, textStatus) {
addthis.init();
$.ajaxSetup({ cache: false });
});
});
有什么办法可以缓存,也可以推迟加载 AddThis 及其外部引用?