Google +1 按鈕的效率問題

在「Google +1 Button Performance Review」這篇中,Aaron Peters 對 Google +1 按鈕所提供的方法感到疑惑,因為官方所提供的方法效率其實並不好。

首先先拿出官方的 sample:

<!-- Place this tag in your head or just before your close body tag -->
<script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script>

<!-- Place this tag where you want the +1 button to render -->
<g:plusone></g:plusone>

即使 Google 給了建議「Place this tag in your head or just before your close body tag」,但這仍然會延遲 onload 的時間。

另外一個更糟的是,目前 Google 的伺服器會把使用者從 http://apis.google.com/js/plusone.js 導到 https://apis.google.com/js/plusone.js,多一個重導又使得 onload 時間又更久了。接下來是噴飯的「Cache-Control: private, max-age=360」,這使得 proxy server 無法 cache,而且因為 cache 的時間過短而經常要向 server 要資料。

再來是這個 js 沒有 minified,造成 gzip 後仍有 628bytes 的差距。然後在這個 script 裡面還可以看到特地為 Blogger「減速」使用 sync loading (喔喔)。

從以上的情況,可以看出來 Google +1 這個產品符合了不少產品成功的要件... XD

Anyway,真正的重點在文章最後面,他有引用一段 async loading 的程式碼讓大家用,雖然不能解決所有問題,但至少可以讓 onload 事件儘快觸發... (這是其中一個很大的問題)

2 thoughts on “Google +1 按鈕的效率問題”

Leave a Reply

Your email address will not be published. Required fields are marked *