window 的 hashchange (onhashchange) 事件

hashchange 是 HTML5 event,紀錄一下目前支援的情況:

目前 IE6/IE7 常見的模擬方式是透過 hidden iframe 做類似的效果...

另外在偵測瀏覽器是否有支援 hashchange 可以利用「Detecting event support without browser sniffing」這篇說明的方式偵測是否有支援特定的 event,可以避免使用 browser sniffing。

Firefox 省記憶體的套件:AFOM

Firefox 上回收記憶體的套件,目前只有 Windows 平台有支援:「AFOM - Memory Recovery & Retention For Firefox Only」,用了幾個禮拜後發現效果還蠻不錯,也還算穩定... 桌機只有 2GB RAM,還沒打算要升級,先頂著用...

效果的部份可以參考「AFOM 有效解決 Firefox 記憶體咬住不放的擴充套件」這篇裡的資料。

Firefox 在歐洲的市占率首次超越 IE

如標題,StatCounter 統計資料顯示 Firefox 在歐洲的市占率首次超越 IE:「Firefox overtakes Internet Explorer in Europe in browser wars」。

不過由圖可以看出來,並不是 Firefox 這一年有顯著成長而超越 IE,而是 Google Chrome 在這一年吃掉 IE 下滑的部份。

同樣以 StatCounter 的資料來看,台灣的 IE 佔有率在 77% 左右,Google Chrome 的市占率應該會在這半年內超越 Firefox。好事是 IE6 的佔有率愈來愈低了,目前是 17% 左右,而且有機會在這半年內降到 10% 附近... 2012 年設計網頁應該可以忽略這個古董了...

露天拍賣的圖片自動展開程式 (Firefox、Google Chrome、Greasemonkey)

露天拍賣的圖片是等到有用到時才會讀進來,這其實對於用 tab 用習慣的我不太方便,因為我會在搜尋頁一次開完,然後一個一個看。這樣的好處是不需要等讀片讀入的時間...

我只在 Firefox + Greasemonkey 上測試過,不過因為程式很簡單 (只有一行),理論上在 Google Chrome 上應該也可以用。

程式在「Ruten Images Autoloader」,請測試給意見囉...

把不好看的字體換掉:Font Replacer

Firefox 裡把不好看的字體換掉的 extension:「Font Replacer」。

主要是換掉 Courier,因為 anti-alias 不起作用:

其中的 Bitstream Vera Sans Mono 是「Bitstream Vera Fonts」這邊下載的...

這是使用前:

這是使用後:

當然不一定要換成 Bitstream Vera Sans Mono,也可以換成其他的,像是系統內應該會有的 Courier New...

在 Linux 上架設 Screenshot Service (2010 年了?)

在 2008 年的時候 xdite 寫過一篇「在 Linux 上架設 Screenshot Service」,不過現在是 2010 年了,不少當初有問題的地方都已經改善了,現在要架比之前方便不少...

測試的平台同樣是在 Linode (referral code 是 fdbacc96dbddafce9ba444dd678357416d0323d5) 上跑 Debian lenny (也就是 5.0 版),為了避免 Adobe Flash PlayerLinux amd64 上會出問題,我在 Linode 上用 32bits 版。

Linode 把預設的 Debian 裝完後,先把整個系統升級到 Debian squeeze 並且重開,然後先裝「locales」這個套件,再用 dpkg-reconfigure locales 把 en_US.UTF-8 以及你自己會用到的 locale 勾起來。

接著開始裝必要的套件:

  • flashplugin-nonfree
  • iceweasel
  • ttf-arphic-bkai00mp
  • ttf-arphic-bsmi00lp
  • ttf-arphic-gbsn00lp
  • ttf-arphic-gkai00mp
  • ttf-arphic-ukai
  • ttf-arphic-uming
  • ttf-wqy-zenhei
  • xvfb

Iceweasel 其實就是 Firefox,因為商標問題而在 Debian 上有不同的名字。在英文版維基百科的「Mozilla Corporation software rebranded by the Debian project」這篇文章裡把前因後果講得很清楚,這邊就不提了...

除了必要的套件外,接下來裝 TightVNC server,準備透過 VNC 設定 Iceweasel。設完後可以移除掉或是留下來,我自己是留下來 (反正檔案不大),有時候可能要進去 about:config 調整參數...

TightVNC server 用 tightvncserver :0 跑起來,然後遠端連進去把 Iceweasel 跑起來測試看看有沒有問題 (可以透過 PuTTY 的 tunnel 將傳輸過程加密),沒有問題的話就裝「torisugari: Command Line Print」這個套件,裝好後再把 Xvfb 跑起來,用這個指令抓圖:

DISPLAY=:2.0 iceweasel -print http://zh.wikipedia.org/ -printmode png -printfile ~/zh.wikipedia.org.png -printdelay 10

抓出來的 screenshot 就會像這樣:(點這裡看原大小圖片)

Flash 也沒問題:(點這裡看原大小圖片)

比起之前的方法,現在的方案有兩個好處:首先是 plugin 是照正規方法裝進去,而不是直接丟 xpi,可以避免遇到奇怪的靈異現象時懷疑是不是安裝時硬塞造成的。再來是 Iceweasel 會在抓完就 shutdown,所以在網路速度夠快的時候可以提前結束,而網路不夠快時也不用擔心抓到未完成圖...

當然剩下有很多細節要處理啦,不過那是另外一回事了...

Mozilla 官方的 Firefox 套件相容性回報程式

順便可以拿來取消版本檢查...

我桌機的 Firefox 雖然是跑 3.6 系列,但筆電上還是跑 Minefield。之前一直都是靠 Nightly Tester Tools 強制套件不要檢查版本,但在 4.0 beta 後一直沒更新,於是 Nightly Tester Tools 就失效了... XD

後來在 comment 的地方看到有人說 Mozilla 官方自己跳出來弄了一個「Add-on Compatibility Reporter」,一樣可以做到這件事情,除此之外還可以回報套件在新版上是否正常...

於是 Minefield 的套件就都跑起來了,測了一下,果然一堆套件在 4.0b3 上爛掉... XD