為網(wǎng)站設(shè)計(jì)的Google +1按鈕發(fā)布以來,很多網(wǎng)站立刻部署上了,但大家也發(fā)現(xiàn)了一個(gè)嚴(yán)重的問題【使用了Google+1后網(wǎng)站打開速度變慢了,Google +1按鈕總要等上數(shù)秒甚至是數(shù)十秒才能讀取完畢出現(xiàn)在頁面里】今天Aaron Peters給出了幾個(gè)優(yōu)化的意見,大家可以參考一下。
首先是一定不要把那段Javascript代碼放在<head>標(biāo)簽里,這樣會(huì)拖慢整個(gè)網(wǎng)頁的打開速度。最好是將其放在</body>之前,這樣頁面可以完全打開,之后再等待+1按鈕慢慢讀取。其實(shí)Google如果再上心點(diǎn),做成類似AdSense和Google Analytics那種非阻塞形式的JS代碼就更快了。
其次,Aaron發(fā)現(xiàn)Google的Javascript代碼只允許瀏覽器緩存6分鐘,這其實(shí)也導(dǎo)致了我們?cè)俅未蜷_網(wǎng)頁時(shí)候速度依然快不起來。 Aaron還發(fā)現(xiàn)Google提供的代碼有個(gè)小瑕疵,其中的http://apis.google.com/js/plusone.js應(yīng)該改成 https鏈接,否則瀏覽器會(huì)做一次自動(dòng)跳轉(zhuǎn),又耽誤了一點(diǎn)時(shí)間。
最后,Aaron建議在Google改進(jìn)之前,這么來寫Google +1的代碼還能快一點(diǎn):
<!-- Place this tag just before your close body tag -->
<script>
(function(d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.async = true;
g.src = 'https://apis.google.com/js/plusone.js';
s.parentNode.insertBefore(g, s);
})(document, 'script');
</script>
<!-- Place this tag where you want the +1 button to render -->
<g:plusone></g:plusone>