Home » Computer » Software » Browser » Archive by category "Safari" (Page 3)

window 的 hashchange (onhashchange) 事件

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

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

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

直接安裝 Adobe Flash Player 而不安裝 DLM

Update:下面連結已經失效,請參考「不安裝 Adobe DLM 的前提下安裝 Adobe Flash Player 11.x」。

現在 Adobe Flash Player 會要你裝 DLM 後再利用這個 P2P-based 的下載軟體安裝 Adobe Flash Player,再加上 Flash 三不五十就有安全漏洞要更新 (但以現在的環境來說,不能不用他),在 HTML5 能取代他之前先暫時想辦法...

如標題所說,直接下載對應的安裝檔而不要裝 DLM,在國外的 blog 有不少人寫過,像是:「Download the Latest Adobe Flash for Firefox and IE Without Any Extras」。

簡單來說,對於 ActiveX-based 版本的 (也就是 IE 系列),下載 fpdownload.adobe.com/get/flashplayer/current/install_flash_player_ax.exe 這個即可。

而對於 plugin-based 版本的 (除了 IE 以外的都是),則是下載 fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe 這個即可。

所以每次出安全性更新時都要抓兩份安裝。

測試 wkhtmltoimage 的效果

在「FreeBSD 上使用 wkhtmltopdf 做網頁擷取」看到有人在 FreeBSD 上用 Linux emulator 跑 wkhtmltopdf 成功,那麼 Linux 上當然更沒問題啦...

同一個計畫裡有 wkhtmltoimage,可以直接輸出成 PNG 格式,不過輸出的 PNG 沒有壓縮過 (應該吧,下面這張測試的原始輸出是 ~10MB,處理後是 ~500KB),要用 pngcrush 處理後才會比較小。

不過 PIXNET 的網頁都會 segmentation fault 是怎樣 XD

Update:在「Segmentation fault while generating http://www.pixnet.net/」這邊回報後,trunk 版修正了。

wkhtmltoimage 輸出結果在這,點下去會出現原圖:

之前透過 Firefox 的方法的輸出結果,點下去會出現原圖:

可以看出來字體的部份有差... 不過處理的速度與方便度比 Firefox 好太多了。

HTTP Redirect Response Cache

之前在 debug 時為了 HTTP Redirect Response 的 cache 問題測過一些,發現結果很亂,後來找到一些 workaround 避開 redirect response 後就沒有再研究太多。今天在「Redirect caching deep dive」這篇看到在討論 HTTP Redirect Response 時的 cache 問題,作者把幾個常見的瀏覽器都測過一次作成表格...

可以看出來情況還蠻複雜的,雖然 RFC 有定義 cache 的時機,但沒有一家完全照 "SHOULD" 的規矩來 XD

不過既然有人提出來而且整理成表格了,之後應該會修正...

WebM 以及 VP8 將成為下一代影音標準

經過這半個月的發展,看起來 WebM 以及 VP8 會是下一代影音的新標準。

去年 Mozilla (Firefox) 及 Opera 因為 H.264 的軟體專利問題而不願意支援 H.264,所以大家都很注目比較可能沒有專利問題的 Theora。這是基於 On2 Technologies 在 2001 年所 open source 的 VP3 而發展出來的。也因此大家對於是否可以用 Theora 取代 H.264 一直很有疑問 (參考二月時寫的「Theora 與 H.264 的畫質差異」)。

首先是 Google 在 2009 年八月的時候買下 On2 Technologies (在 2010 年 2 月的時候完成收購),有不少人希望 Google 可以授權 On2 在 2008 年所發表的 VP8 給大家使用,FSF 甚至利用 YouTube 的影響力,並且主動提供 VP8 格式的影片,大力推廣 VP8:「Open letter to Google: free VP8, and use it on YouTube」。

上個月 Google I/O 2010 的時候,Google 公開 WebM Project,其中包括了 VP8 的使用權,並且提供免費的專利使用權。雖然有些人對於 VP8 還是覺得不夠好 (像是「The first in-depth technical analysis of VP8」這篇分析),但由於 Mozilla、Opera、Google 在當天都已經宣佈會支援 WebM,微軟也宣佈會在 IE9 內支援 WebM 檔案格式 (至於 VP8 codec 則是在系統內安裝),所以 WebM 很快就變成大家注目的焦點,而在 ffmpeg 的 mailing list 上也很快就有人把將 libvpx 整合到 ffmpeg 內。

接下來看看能不能更直接將 WebM 直接納入 HTML5 的 spec 內...

Theora 與 H.264 的畫質差異

HTML5 支援 <video> 標籤,由瀏覽器直接播放影片,不需要透過 Flash Player。但因為 H.264 有一堆軟體專利是無法 royalty-free 使用的。

有人曾經建議 Mozilla 直接使用系統的 codec 避開這個問題,但 Mozilla 認為這種作法跟 ActiveX 一樣,直接把系統不安全的部份暴露在 Internet 上,當 codec 有漏洞時就會受到影響。(我覺得專利問題還是比較嚴重)

因為這些原因,Mozilla 選擇內建 Theora 而非使用 H.264。最早支援 video tag 的 Opera 也是選擇 Theora。

GoogleApple 手上都有與 H.264 相關的專利可以丟進專利池而取得免費使用權,所以 Google Chrome 以及 Safari 都是支援 H.264。

Update:如同 Azel 在 comment 所講的,Google 沒有專利丟到專利池內,而是購買授權。(參考 AVC/H.264 LicensorsAVC/H.264 Licensees 資訊)

除了專利問題外,有些人研究 H.264 與 Theora 在技術上到底哪個比較好,如果兩個差不多的話,沒有必要用 H.264 讓別人綁死。

OSNews 的「Comparing Theora to H264」裡講到有三篇測試文章。

最早的是「YouTube / Ogg/Theora comparison」這篇,這篇不是講 H.264,而是 YouTube 使用的 H.263。這篇文章之前有上過 Slashdot,但當時看過以後有個印象而已,因為他用的方法是肉眼,而非科學方法。雖然如此,還是很明顯可以看出來在 500Kbps 以下時 Theora 比 YouTube 的 H.263 好不少。

最近的兩篇分別是「Ogg vs H264 - Round One」以及「Video encoder comparison」,後面這篇是我第一次看到有人用科學方法 SSIM 計算壓縮前後的相似性。不管哪一篇,都可以主觀或客觀的看出來品質上 H.264 大勝 Theora,而壓與解的速度則是反過來。

不過下面的 comment 提到 Theora 目前真正在開發的不在 trunk 內,而是在其他 branch 下,另外 Theora 如果設定 bitrate,會是 CBR mode,品質會比 VBR mode 差。實際要比較每個 codec 最好的情況應該要跑 2-pass。

過幾天應該會有新的 report 出來,到時候再來看差異...

SVG

Wikimedia 的 Blog 上提到了可以用 Flash 顯示 SVG:「SVG for all… with Flash?」。

就目前瀏覽器的情況,只有 Opera、Gekco Engine 系列 (以 Mozilla 的產品為主)、WebKit Engine 系列 (以 AppleGoogle 的瀏覽器為主) 有內建,Microsoft 的 IE6/7/8 則必須靠 Plugin 外掛支援。

不過 svgweb 這個 Open Source 的專案 (Apache License 2.0) 雖然還在 alpha 階段,但總算是有機會利用 Flash 顯示 SVG 圖片了,就短期看來,這樣推廣 SVG 會比較順。

另外在原文裡有提到過於複雜的 SVG 檔案會使得 svgweb 過慢/吃資源的問題可以用 Scour 這個軟體清理 SVG 檔。

jQuery 1.3.1

John Resig 寫了篇 jQuery 1.3.1 的細節 (順便公告 jQuery 1.3.1 出版了):「jQuery 1.3.1 Released」。

主要包括:

  • 不再提供 packer 版本,最主要的原因是速度,在來世再來是在 Adobe AIRCaja 下會有問題。不過,需要的人還是可以自己壓...
  • 不再支援 Safari 2,主要是市佔率降到很低了,目前 Safari 的主流是 3.x。

1.3.1 修掉的 bug 在「{30} jQuery 1.3.1 Closed Bugs」這裡可以看到。(裡面有一個 enhancement,不太重要?)

WYSIWYG

WYSIWYG,也就是「所見即所得」,不過我要講的是 Browser 裡常用的所見即所得的編輯模式。

感想:這東西能不碰就不要碰,基本上是個大地雷。如果打算要支援 1% 以上市佔率的瀏覽器,那麼就包括了 IE6/IE7/Firefox2/Firefox3/Safari/Chrome,每個都是地雷密佈。如果真的要碰,找個 JavaScript 強者,學 Blogger 弄一個超簡單的版本吧,避免支援一堆特殊效果... (絕對會因為 browser 的「特性」而死人)

然後儘量加強傳統模式 (non-WYSIWYG),像是 JS Quicktags 這種編輯器,因為這種編輯器的後遺症少很多,少一些使用者用 WYSIWYG editor,就可以少一些人抱怨。

這是這幾天看 TinyMCE forum 的感想。

Archives