Powered by and 圖示來源

2008年10月30日 星期四

blog掛了太多的東西之後,開啟的速度就會越來越慢。
頁面開啟是按照html的順序開下來。

在不改變html順序的狀況下,加速的方法就是把有可能會慢的任何事都向後處理。
把本文先秀出來,這樣就能達到加速的效果。

在網路上找到網頁開啟速度被一堆Javascript拖垮了?教你修改網頁的好撇步,讓網頁載入速度更快!一文。

看完之後,我修改了一下作法,以更簡單的方式達到相同的效果。
1,不需要轉換內容為javascript碼。
2,不需要制作js檔。
3,當然更不需要上傳空間去存放js檔。
4,可以將多個想要延後的項目一次搞定

一步一步來:
1,
選定想要延後的任何碼,如果是圖片很慢也行。
目標為部觀門的兩個服務(有時很慢)
<div id="look_urs" align="center">
載入中....
</div>


<div id="my_minicity">
載入中....
</div>

其中紅字的部分可以自己命名。
載入中....可以改為任何的字串,也可以不要填,以免讓人覺得一直在"載入"會有等待感,事實上只是一個字串,跟本就沒在載入。

2,
在頁面的最後,通常是在foot(也可以在sidebar最後),新開一個HTML/JavaScript
裡面寫上
<div id="all_hidden_data" style="visibility:hidden;">
    <div id="my_minicity_s">
    <script charset="UTF-8" src="http://mmc.urs.tw/java/detail_zh.php?mmc=crazyrs" type="text/javascript"></script>
    </div>

    <div id="look_urs_s">
    <script language="JavaScript" src="http://look.urs.tw/java/hits2.php?BlogID=54552" type="text/javascript"></script>
    </div>
</div>

<script type="text/javascript">
document.getElementById("my_minicity").innerHTML= document.getElementById("my_minicity_s").innerHTML;

document.getElementById("look_urs").innerHTML= document.getElementById("look_urs_s").innerHTML;

document.getElementById("all_hidden_data").innerHTML= "";
</script>

這個的意思是,先將本來的碼(code)暫存在一個帶有hidden屬性的div包著。
綠色id的div放的就是被後移區塊的碼。
等到下面的script執行時,把這些相對應的碼回填。(綠色區的內容填回到步驟1的紅色區)
最後把整個帶有hidden屬性的div清空。

3,
收工

這樣就可以達到延後的目的了。

所以不論是什麼,就算是一張圖,也可以把整個<img src="xxx"> 向後拉。

http://tools.pingdom.com/fpt/ 測試,把太慢的都抓出來向後丟就對了。
但是還是慢,因為blogger有些東西(內嵌式留言功能)本身就慢,這個是沒辦法移的,偏偏測出來就是它們在慢。

慢慢慢....


4 留言:

匿名 提到...

好東西!

匿名 提到...

快快拿回自己blog,實作看看。

黑貘/Black Tapir 提到...

部觀門最近沒有服務, 等到機器到位後會再開放...
現在是出空資料... (真傷腦筋)
但今早已收到信說機器已到, 就看這星期天來著手弄了...

crazyrushstar 提到...

沒有啦...

剛好部觀門的script比較短比較好做示範。

基本上只要是有script都向後放了,沒有專對部觀門的script做調整。有時很慢,有時...有時...沒有常常。

張貼留言

有話就說,才是真性情!

總網頁瀏覽量