2010-09-17

更換預設電量圖示

原來 Android OS 裡面在顯示手機電量的方式,是在畫面右上角、狀態列裡右邊的電池圖示,雖然也有所剩電量比例,但圖示很小、分不出到底還剩下多少電,坊間雖然有一狗票電池監控的軟體、或能放在桌面的電量 Widget,但怎樣都沒有在狀態列裡方便。於是我找了個能在狀態列顯示電量、而且是以「百分比」字樣顯示的 Battery Indicator,功能陽春但免費,一掛就沒拿下來過了。(付費版的 Battery Indicator Pro 多了一個功能,就是可以根據電量用不同的顏色來識別,官網還有原始碼下載,作者真是佛心來的)

不過一個狀態列上有兩個電量標示圖示感覺挺累贅的,Android 原生的又關不掉,如果能拿能顯示剩餘電量百分比的圖示,直接取代原生功能該有多好!不但不用多裝個軟體來顯示、多浪費狀態列空間,也算是強化原生的電量顯示功能。最早在對岸有看過類似的修改文章,不外乎就是拉出系統電量顯示的圖示 resource 檔,手動整套翻新再重新封裝,然後再想辦法塞回手機取代掉原來的。不過這些手動改檔封檔的動作太過繁複,每個人愛的圖示組又都不一樣,所以看過該文章參考就算了!這兩天在 Mobile01 看到網友分享修改電量百分比圖示的 Step by Step 教學文,馬上就來依樣畫葫蘆,沒想到一次就成啦!當下就把 Battery Indicator 移除,因為我有更炫更棒的圖示啦!

更換圖示前我手機的狀態列。右上角那個綠色電池就是 Android 預設的電量圖示,看不出剩餘電量的百分比,左上角那個有百分比的圖示是裝 Battery Indicator 產生的

更換圖示後我的狀態列。右上角已經換成有百分比的圖示(而且有漸層色變化),Battery Indicator 就可以移除省記憶體,狀態列也更簡潔一點啦!

回應: 3

 

2010-08-09

官方的分享按鈕 (Share Button)

一個多月前 Blogger 官方公佈了一個新功能,就是讓你能在 Blog 文章後面,補上一個分享按鈕,讓閱讀文章的讀者,如果喜歡你的文章,能更方便地透過按鈕分享到社群服務上。因為這個分享按鈕還挺小巧好用的,如果用的是官方樣板(就是沒像我愛手賤亂改的),只要兩三個步驟,就可以在 Blog 上啟用這項功能。也因為步驟太簡單,目前也只提供主流的社群服務,像是 Twitter 和 Facebook,另外還有 Email 分享(這個本來也就有)、Blogger 的 Blog This 和 Google Buzz,這樣五個按鈕一組的分享按鈕列就出現了!我好一陣子沒去動 Blogger 樣板,所以這項更新一直沒去動手,很久以前也做過「訂閱圖示」、就是讓讀者把文章加入書籤用的,所以一時心血來潮,用本文整理一下放在文章後面用來訂閱和分享的功能。

開始之前,先確定自己的 Blog 是不是有支援這項官方功能。登入管理介面,到「設計」、「網頁元素」頁面,找到「網誌文章」的區塊,點選編輯後會跳出設定畫面,勾選「分享按鈕」、看一下預覽後儲存,基本上 Blog 就支援這項功能啦,這時候來看看自己的文章,Reload 一下、如果文章後面已經出現分享按鈕,那麼後面文章也不用看了,因為你已經做完啦(代表你的樣板文件 Blogger 認得,而且程式碼有加對地方)!另外,如果有用這個分享按鈕,其實上面那個「顯示電子郵件發佈連結」就不用勾選啦,因為分享按鈕的第一個,作用就是透過電子郵件分享,功能一模一樣,留下一個就好了。

新增分享按鈕的設定畫面,勾選儲存就好了

回應: 3

 

2010-06-29

替 Magic 換上客製化韌體 (Android 1.5 to 2.1)

之前的改機動作,不外乎是透過工程版韌體的權限,趁機換掉 Boot Loader(到 SPL v1.76)、以及具備特異功能的 Recovery Image (RA v1.6.2),事後還原最終穩定的官方韌體 (Android v1.5)、裝上最後的更新,然後補上 root 權限。這樣的改機,說穿了韌體還是沒變、只多了 root 權限,並保留未來換韌體的彈性,用起來還是沒差,就只貪圖能夠裝需要 root 權限才能跑的好用工具。隨著一堆軟體推陳出新,市場上出現一堆只支援新版 Android 的應用程式,我那可憐還在 1.5 的 Magic 自然都不支援。後來 HTC 幾經拖延讓 Hero 從 1.5 升級到 2.1 後,其他更舊的手機大概都要被邊緣化了,這時想升級也沒法期待官方的火力支援,自力救濟可能比較快吧!

其實改機最困難的步驟之前已經完成了(就是做金卡、上歐版韌體、換 SPL 和 Recovery 這些),只要用客製化的 Recovery Image 開機,利用裡面提供刷韌體的功能、選擇想刷的韌體壓縮檔,執行下去就完成啦!換韌體的動作很簡單,困難的是怎麼選擇正確的客製化韌體、並確認基本功能的正常與否。之前遲遲不去換客製化韌體,是因為大部分這類韌體都是從別的手機 Porting 來的,因為硬體上的差異,在使用上多多少少都有缺陷,像什麼相機功能不正常啦、GPS 不能動、沒有中文輸入之類的,直到 HTC 發佈給 Hero 從 1.5 升到 2.1 的更新,神人們也取得了更好的素材,讓硬體上相當接近 Hero 的 Magic,能擁有更成熟穩定的客製化韌體。開刷之前,首先要先瞭解哪些韌體是適合自己手機的,因為在 XDA 上,客製化的韌體流派很多,從早期的 SuperHero、到最近的 Smoki,使用上都有一些限制,處理上不小心,輕則手機開不了機、嚴重一點就直接變磚塊了。開始之前,要先確定當下手機的各種版本資訊,把手機關機,按著返回鍵、然後再按電源鍵開機,這時候會進到 BIOS/Fastboot 的模式(這模式沒法抓圖,只好拿別人拍的照片):

仔細看一下上面那幾行,如果是照我之前的改機動作更新 SPL & 歐版韌體,版本資訊應該是:

SAPPHIRE PVT 32A ENG S-OFF H
HBOOT-1.76.2007 (SAPP10000)
CPLD-12
RADIO-6.35.08.29
Aug 21 2009,18:19:15

回應: 16

 

2010-05-05

Magic 官方韌體線上更新 (751.5+751.6) 並保留 Root

之前提到將 Magic 成功改機、還原成穩定的官方韌體並保留 Root 權限後,感覺已經天下太平了,結果冷不防 HTC 在二月的時候又來更新程式,而且還是線上更新的模式!快樂改過機的用戶,突然收到更新通知時,到底該不該執行啊?有勇者毅然決然地同意後,會因為「驗證失敗」導致更新失敗(還沒開始就中斷了),難道改過機的人不能繼續使用 HTC 的線上更新嗎?

首先,要能收到線上更新通知,記得更新檢查要先打開。相關設定在「設定」、「安全性」、「韌體下載」的選項裡,記得裡面選擇「下載提示」,才有機會收到通知。再來,這些線上更新內容是什麼,有沒有必要一定要上呢?根據官網的說明

還記得上篇刷回官方韌體,最後的版本號碼是 3.03.751.4,這次線上更新前後包含了 751.5 和 751.6,更新完沒太大差異,也有人喊說沒那個必要升級。不過我必須說,因為官方沒列出更新細節,只說什麼「更新用戶端」和「漫遊優化」,但總共十幾MB的更新檔,絕對不會只有這兩項,一定也並修正了大大小小的其他 Bug,才會這麼一包。我實際上的感覺,之前用藍牙耳機聽音樂時容易斷斷續續,但更新後有很大的改善,上述更新檢查的選項也換位置放了(移到「關於手機」、「系統軟體更新」,裡面有排程和手動檢查),可能還有很多修正是族繁不及備載的,所以和 Windows 一樣,要維持在最新版才能確保系統的穩定。不過上面也提到,改機過的韌體在更新時似乎會被什麼檢查抓到,讓線上更新被中斷,看來 HTC 官方也有在關注和阻擋改機的行為哩~

根據神人分析,HTC 做的是檢查 Recovery Image 版本。之前改機把 Recovery Image 換掉、換成 Amon_RA 大大做的 recovery-RA-hero-v1.6.2.img,這樣當然會驗證失敗。所以如果想執行線上更新的話,第一個步驟就是「暫時」還原官方 Recovery,待驗證過後、更新成功完再換回來。還記得上個步驟我們刷官方韌體時,拉了一個檔案 rom1.zip (後來改名為 sappimg.zip),如果我們手動解壓縮它,會在裡面發現一個 recovery.img,這就是本文需要的檔案(官方 Recovery Image)!把檔案複製出來放在電腦裡,手機關機後、重開進到 Fastboot 模式(按著返回鍵、再按電源鍵開機)、連接電腦,透過 ADB 執行重刷 Recovery 的命令:

fastboot flash recovery recovery.img

回應: 6

 

2010-05-03

歐洲工程版 ROM 還原成官方中文 ROM

其實 Magic 搭載 HTC 歐版官方韌體,已經是完整功能的手機(除了一些中文問題),但已經解開其封印,要做什麼應用都可以。不過坊間所有的「非官方韌體」,目前個人覺得都沒有 HTC 自己的官方韌體來得穩定完整(會有的問題包含藍牙不正常、沒有中文輸入法、相機應用怪怪的一堆有的沒的..),而且我解開封印的目的只是取得 root 身份,對於原有的韌體版本 (Android v1.5)、HTC 的 Sense UI、甚至中華電信預載的設定和軟體 (Ex. Hami、Plurk ..) 都覺得還不錯,因此最後決定換回官方中文韌體,並希望保留改機後有的 root 權限和非官方的自製映像檔。

要達到這個目標,首先要取得官方韌體。到 HTC 官網下載給中華電信客戶專用的韌體升級程式 (ChungHwa_3.03.751.4),下載後執行這個 RUU、但別急著下一步開始!安裝程式一執行會先解壓縮到系統的 Temp 目錄下(每台電腦和作業系統 Temp 目錄都不一定位置相同,預設 XP 的目錄在 C:\Documents and Settings\用戶名\LocalSettings\Temp,也可以到「控制台」、「系統」、「進階」、「環境變數」,查看你系統變數 Temp 是在那裡),找一個檔案 rom1.zip,把它複製出來並改名為 sappimg.zip,接著取消 RUU 安裝程式,此時已經取得還原官方中文韌體所需的檔案了。連接手機,把剛剛的那個 sappimg.zip,還有之前用過的 Recovery Image (recovery-RA-hero-v1.6.2.img) 複製到手機記憶卡的根目錄(待會要用),完成準備就要開始刷機啦! 請注意,更新過程之前裝過的軟體、設定和簡訊資料一樣都會消失,要備份資料的話記得先做好。手機關機,按著返回鍵、再按電源鍵開機,這樣會進到 Fastboot 模式,按音量鍵下 [VOL DOWN]、用滾輪中鍵選擇 Flash 剛剛的那個 sappimg.zip 開始更新,更新完再按滾輪中鍵重新開機,HTC 給中華電信的中文官方韌體就刷完啦!

不過,這個更新過程會再把以前我們刷過的 Recovery Image 一併蓋掉,少了這個 Recovery 未來會很不方便,所以我們要再把它刷回來!前一個步驟我們已經把神人自製的 Recovery Image 檔案給複製到手機記憶卡的根目錄了,手機關機,按著返回鍵按電源鍵開機,再進到 Fastboot 模式一次,這時候把手機連上電腦,利用 ADB (Android Debug Bridge) 工具裡面的 fastboot 程式,要來重刷 Recovery Image:

fastboot flash recovery recovery-RA-hero-v1.6.2.img

回應: 18

 

2010-04-30

HTC Magic 刷入歐版 RUU (rooted) 加上 SPL 1.76.2007

其實這裡開始,才是真正進入更改韌體的刷機動作。整個「破解」官方韌體的關鍵,就是這份官方工程版的歐洲 RUU 韌體更新程式,首先,因為它是「官方」韌體,所以能夠理所當然、正大光明地拿來更新,其次,這個「工程版」裡面,直接是 root 身份、在擁有最大權限的狀況來操作手機,原則上只要能刷上這個韌體,其實就改完機、擁有 root 權限了。HTC 在使用這份韌體上其實並沒有做什麼阻擋(可能沒想到會流出吧),對我們亞洲的用戶來說,大概就受限於 CID Check,只要做了「金卡」、直接 Bypass CID 檢查,這個韌體更新就能進行了。(除了做金卡,很多人遇到 RUU 執行失敗是遇到:錯誤[170]: USB 連線錯誤,那是因為沒裝 HTC Sync/Driver 的緣故,請先確認過電腦與手機連線狀況後,再來執行 RUU..)

確認連線正確、也已經準備好「金卡」之後,先把待會要用的非官方 Recovery Image (recovery-RA-hero-v1.6.2.img) 和 Boot Loader (update-hboot-1.76.2007-signed.zip) 複製到手機記憶卡的根目錄。Recovery Image 是一個相當精簡、有點像安全模式的核心韌體 (Kernel),透過開機切換(關機後,按著 Home 鍵、再按電源鍵開機),就能用這個 Image 來開機,進行工程模式的維護。原廠的 Recovery 模式一般人當然不會操作,而且一樣有一堆檢查和驗證,為了後面改機換韌體方便,所以要一併替換掉。而 Boot Loader 就是之前提過的 SPL (Second Program Loader, 類似 BIOS)、最底層的開機程式,一樣能透過開機切換進到 HBoot 模式(關機後,按著音量鍵下、再按電源鍵開機),改機前如果連 BIOS 都換掉,那麼所有官方韌體裡有的桎梏就都解開了。也有網友提到,只要 SPL 刷成功,在硬體沒故障的前提下,手機應該怎麼刷都刷不壞啦~因此先複製這兩個檔案到手機根目錄,等刷完工程版 RUU 後取得 root 權限,就能替換 Recovery 用的 Kernel 以及 Boot Loader。

接下來開始更新歐版韌體。請注意,這個動作開始後,所有手機裡的資料、簡訊、安裝過的軟體就都會消失殆盡,有重要的資料記得先備份到記憶卡裡。準備檔案歐版韌體 RUU (Europe_3.04.401.2, files: Part1, Part2),直接執行開始更新韌體,只要有金卡、而且手機和電腦正確連線,這個步驟就可以順利完成(這個歐版的 RUU,不能在 Windows 7 上跑)。當然,更新韌體過程的大忌就是電源不足(手機或筆電沒電,更慘就是突然停電跳電),一旦更新過程掛點(或是手賤拔線、被踢掉),那很有可能藥石罔效、再起不能,除了原廠大概沒有人能幫你了。更新完畢重新開機,會發現介面都變英文,變成一隻道地的歐洲機了,別急著輸入 SIM 卡密碼開始使用,確認電腦和手機有正確連線後,開個 DOS 視窗、透過 ADB 工具(在 Android SDK 裡,解壓縮後 tools 目錄下的那些公用程式)連入手機:

adb shell

回應: 45

 

2010-03-16

製作金卡 (Gold Card)

根據神人的研究,發現 HTC 的韌體更新程式 RUU (ROM Update Utility),為了怕使用者誤用、拿到不正確語系或版號的韌體去刷手機,於是在安裝程式裡面動了手腳,增加一些檢查機制,阻擋這類跨區或跨版本的韌體升級,這樣能避免不懂的使用者亂刷刷壞,間接也阻止了不同版本的韌體在不同地區的手機上使用。不過,如同之前改機前言所述,如果透過管道弄到「歐洲工程版」的 RUU,這道檢查機制就變成阻擋改機的第一道關卡。先從原理來看,RUU 在執行前,會要求使用者確認手機和電腦已經連接,一旦連接,安裝程式和手機就能溝通,藉由溝通結果來做檢查。而這個檢查機制主要有兩種:第一種開放給電話系統商使用,就是透過 SIM 卡檢查(讀取 ID 或序號之類的),來判斷是不是那一家的系統(Ex. 中華電信 or 台哥大),第二種是手機製造商(就是 HTC 自己啦),依照銷售的區域、機種和型號,判斷更新執行的權限,會檢查的包含了裝置識別碼 (MID; Model Identification) 和客戶識別碼 (CID; Customer Identification)。這次提供改機後門的 RUU 和電話系統商無關、有限定手機型號,所以只要是 Magic 手機應該都能夠用,唯一阻擋在前面的只剩下 CID 檢查(硬去執行 RUU 會因為 CID incorrect 而 update fail)。所以要能做到 CID Unlock,才能開始改機的第一步:安裝歐版的 RUU。(聽說也可以直接修改更新安裝程式,跳過檢查直接達到 SIM Unlock & CID Unlock 的目的..)

實際 CID 檢查的詳細步驟我不是很瞭解,不過聽說在開機時、手機裡的 SPL (Second Program Loader, Android 上的 Bootloader, 類似 BIOS) 會讀取記憶卡做檢查,只要在手機的記憶卡裡寫入一些「引導資料」、讓 SPL 載入,當 RUU 要做 CID 檢查時,就能直接 bypass 啦!這張「被寫入引導資料」的記憶卡,就是所謂的「金卡」(Gold Card)。在製作金卡之前,要先確認幾個前提,首先所有步驟只和記憶卡有關,所以製作過程手機插著哪張記憶卡,就只能用那張卡來進行改機動作(也就是說不能產生寫入金卡資料後寫進別張記憶卡使用)。再者,這張卡必須是 FAT32 檔案系統(目前一般大容量記憶卡的標準格式),最後,有些人認為雜牌爛卡也會是金卡製作的失敗原因之一,所以最好是有品牌或好一點的記憶卡(我自己是用威剛 A-Data 8GB Class 6,買手機送的)。

製作金卡的第一個步驟是先取得手機的 CID。熟悉 Linux 的人可以透過手機的終端機程式(例如用 ConnectBot 連 Localhost、或是其他像 Android Terminal Emulator 之類的終端機工具,請自行安裝)從檢視下述檔案內容,或是先確認過電腦與手機連線狀況後,透過 ADB 工具(可以從下載的 Android SDK 壓縮檔裡 tools 目錄下取得),執行命令查看檔案內容:

adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid

或是使用 adb shell 登入,以及在手機上的終端機程式下命令:

cat /sys/class/mmc_host/mmc1/mmc1:*/cid

回應: 25

 

2010-03-11

HTC Magic 與電腦正確連線

不管是改機或做金卡,或是之後要對手機系統做一些進階的操作,都要先確認手機已經和電腦連線,這裡的連線不只是插上 USB 線,還要能確認電腦能夠透過接線相互溝通。其實 Magic 透過 USB 接上電腦,不用裝什麼驅動程式、預設就會被當作一台 USB「讀卡機」使用,只要在手機上選擇「掛載 SD 卡」,電腦就能像存取一般隨身碟一樣直接存取手機的記憶卡。但這種狀態下,並不能保證更新程式或其他工具能直接透過指令和手機的作業系統溝通,這時候必須安裝 HTC Driver,才能確保外部工具和手機系統能夠完整連線。這個驅動程式現在是包在 HTC Sync 裡面(舊版才有獨立版本)、在 HTC Support 官網就有提供,最新版本是 2.0.33,安裝程式會幫你裝進「HTC Driver」和「HTC Sync」,後者是一個開機會執行啟動的服務、主要是幫你 Sync Exchange/Outlook 資料用的,如果不需要的話可以獨立移除。一旦驅動程式裝好,只要你的手機接上電腦,除了原來當「讀卡機」的機制一樣會在你電腦跑出一個「卸除式磁碟」外,在裝置管理員裡,會多出一個 Android USB Devices 類別,裡面會有個 My HTC 的裝置,這樣才能確保手機裝置有正確連線,後面有一些透過電腦和手機連動的動作才能正確執行。(包含手機的「行動網路共用」,就是把能 3G 上網的手機當作數據機讓電腦能共用 3G 上網,這個 HTC driver 一定要裝..)

當 HTC driver 裝好,每當手機有接上電腦,便會多出這個手機裝置

要檢查手機連線是否正常,可以透過 ADB (Android Debug Bridge) 工具來做一些測試。ADB 工具其實是包在 Google 提供的 Android SDK 裡面(解壓縮後 tools 目錄下的那些執行檔),提供程式開發者拿來與手機或模擬器溝通的 Debug 公用程式,所以可以透過下載 SDK 解壓縮後取得。打開 DOS 視窗、切換到公用程式的目錄下,直接下執行檔命令 adb,就會列出所有 adb 參數和使用說明,如果要確認手機和電腦有正確連線,可以用命令:

adb devices

回應: 12

 

2010-03-05

HTC Magic 改機步驟

本文是用來紀錄徒手讓 HTC Magic 在具備官方韌體的狀態下,能夠額外具備 Root 身份的能力(前言在此)。由於對 Android 的系統架構還很模糊,差不多就是照著人家指導的方法 Step by Step 地完成,過程很順利、但其實對每個步驟的原理還是不知其所以然,所以也不要問我為什麼哪個步驟不行、在那個平台或機種怎麼改,我沒辦法也不知道該如何回答。(我只是整理筆記...)

一開始出貨的 Magic 用的是相當陽春的 Android 1.5 OS,不帶 HTC Sense UI, 透過一些技巧很容易就能取得 root 的最高系統權限(SPL v1.33,詳看此文),不過在 2009/10/23 HTC 推出官方的升級後 (FW: 3.03.751.4,要透過下載外部公用程式來升級),雖然讓 Magic 擁有了和 Hero 一模一樣的軟體介面和應用程式,但卻阻擋了 root 的取得,一時讓 root 過的使用者在更新韌體後哀鴻遍野、怨聲載道。一開始沒趕上改機的熱潮,所以當我的 Magic 乖乖升了官方韌體、額外具備 Sense UI 和一堆 HTC 客製的應用程式,只覺得官方韌體也相當不錯,還沒感受到改機的急迫性。不過在用了一段時間後,漸漸發現好多必須利用 root 身份執行的應用程式和功能相當吸引我,於是在後來新改機步驟出現之後,我也躍躍欲試、一頭栽進改機刷韌體的熱潮當中。這個新的改機步驟緣由是 HTC 在歐洲釋出了一個帶 su (switch user,就是能切換身份到 root 的工具) 的 RUU (ROM Update Utility),透過這個官方的韌體升級程式更新後除了擁有最新的韌體外 (FW: 3.04.401.2),內含最大權限的 root 身份!不過不是一般人都能用這個韌體升級程式,HTC 有利用鎖銷售地區的方法限制使用者執行(怕亞洲客戶刷到歐洲韌體)。道高一尺魔高一丈,有人發現製作所謂的「金卡」(GoldCard),能夠規避 CID Check、達到任何人都能使用歐洲工程版 RUU 的目的。有了最大權限,就能透過更換 Recovery Image (工程模式的 Kernel)、進一步利用神人修改的 SPL (Second Program Loader, Android 上的 Bootloader, 類似 BIOS),替換掉官方限制的版本,徹底解除 Android 系統的封印!在這之後,不管你想換什麼版本的韌體 (v1.5, 1.6, 甚至 2.0, 2.1),還是想擁有什麼權限,都能易如反掌啦!

嘴巴講講很簡單,實際上步驟還挺繁複的,而且,還要準備不少工具和程式。以下步驟僅適用於「具備 Sense UI、HTC 官方版韌體的 Magic 手機」,其他廠牌和型號機種一概不能用!大致流程如下,每個主題步驟很多,另行專文連結詳述:

回應: 6

 

2010-02-26

Blogger 的自動分頁機制 (Auto Pagination)

這邊好久沒 Po 文了。上個禮拜 Blogger 逕自推出了一個自動分頁的機制,我簡單看了內容,只是一堆敘述、沒有調整的程式碼和新控制介面,也就是官方會自動套用到每個 Blogger 使用者的 Blog 上,反正啥也做不了當時也沒去深究。剛開始一點感覺都沒有,後來有網友反應 Blog 發生不正常的分頁狀況,主要的現象是:首頁本來設定顯示固定文章數(ex. 5),結果怎麼突然變少了?透過新舊文章上下翻頁的功能,每次顯示的頁面文章數量都不一定一樣。另外,連搜尋、標籤 (label) 和存檔 (archive) 頁面,也有一樣的狀況發生,雖然無損文章內容,但是在頁面呈現上,文章數量會因文章內容而減少,由於和原來的使用習慣不一樣,討論區開始出現哀鴻遍野、出現要求關閉自動分頁的聲浪。

回到一開始,看看為什麼要官方推出這個功能。很多人的 Blog 文章裡除了文字以外,也會補上不少圖片和照片(有的超愛插大圖),甚至內嵌多媒體,單篇文章瀏覽時無可厚非,一定要顯示出所有內容,但如果是在首頁、檢索或分類頁面,一樣要顯示或載入全部內容的話,那麼這些頁面光等全部載入就要等到死。很多 Blog 的主人根本不知道緣由、就抱怨是因為 Blogger 提供的流量不夠、太慢,讓人家不想看他們的網站,更專業一點的會說導致 pageviews 大幅下降,這對商業或提供廣告的網站可是致命的問題。在不動內容又想改進 Blog 載入速度的前提下,Blogger 官方於是有了這項決定和計畫。出發點是善意的,不過此舉一出,很多愛放大圖或照片的首頁只剩下兩篇文章(剩下的請翻前一頁),就連搜尋或分類結果也這樣,這可是犯了眾怒啊!仔細看了官方的作法,是直接在載入 Blog 版面樣板文件前就自己做了過濾的動作,因此即便在樣板裡塞什麼 Hack,拿被「和諧」過的資料來顯示,對版面內容調整自然也無能為力了。

根據官方的說法,他們是根據要載入的資料量 (amount of HTML on the page being requested in KB),或是頁面圖檔數量來自動決定切分頁後該頁面會有的文章數量,假設是個愛放攝影作品的 Blog,一篇文章出現「夠多」「夠大」的圖檔,那麼在首頁,這類文章經「自動分頁」處理後最少只剩下「兩篇」,舊一點的第三篇、第四篇只好翻前一頁才會出來。如果前面一點的文章字多圖少,翻前一頁出來的文章數量又可能有五篇(根據自己設定的最大值),實際翻了幾頁,怎麼每頁的數量都不一樣?就像上一段說的,是在載入樣板文件前就做完分頁的機制,即便用了只顯示標題的 Hack、對這個問題也沒法改善(因此我這篇「標籤/搜尋頁面只列出標題 (Simplify the result of label and search) 」自然也是無效)。

回應: 8