應廣大(?)讀者要求,接下來聊聊 WebKit 的 Plug-in。
首先,瀏覽器的 Plug-in 與所謂的 Extensions、Add-Ons、Accelerators 是不一樣的。Plug-in 的用途是讓瀏覽器可以開啟原本所無法開啟的檔案,而 Extension 則往往是用 HTML、JavaScript、CSS 或其他技術,增加瀏覽器的功能。比方說,我們想要在瀏覽器畫面上方增加一條工具列,這個工具列上面有一堆按鈕,讓你可以把現在瀏覽的內容貼到 Twitter 上,讓你快速使用某個搜尋引擎,或是把現在的網頁丟到某個 HTML validator 檢查看看有哪些問題,這是 Extensions。
而瀏覽器原本只能瀏覽 HTML 檔案、純文字檔案,還有 GIF、Jpeg、PNG 等圖形檔案,沒辦法直接播放 mp3(其實現在的瀏覽器可以支援 audio tag)或影片檔案(現在當然也有支援 video tag 的瀏覽器),所以,瀏覽器就提供了一個架構,在遇到這類型的檔案時,如果知道某個 plug-in 可以處理這種檔案,就在畫面中挖出一塊空間,讓 plug-in 處理這些檔案,然後把 plug-in 的畫面填到預留的空白中。或這麼說-我們在 HTML 中使用 embed 語法的時候,就是要使用 plug-in 的時候。