在舊的 Firefox 桌面版本中,整個瀏覽器都是執行在單一的作業系統處理程序裡。特別是用來執行瀏覽器使用者介面(又稱為「chrome code」)的 JavaScript 和網頁裡的程式碼(又稱為「內容」或「網頁內容」)都在同一個處理程序中。

最新版的 Firefox 會分別在單獨的處理程序中執行瀏覽器的介面和網頁內容。在這個架構的第一個版本中,所有瀏覽器分頁在同一個處理程序中執行,而瀏覽器介面則在另外的一個處理程序中。在未來幾個版本後,我們希望能有不只一個處理程序。這個提供多處理程序 Firefox 的專案稱為 Electrolysis,有時候會縮寫成 e10s。

多處理程序的 Firefox 不會影響一般的網頁。只有 Firefox 本身和附加元件的開發者們需要直接存取網頁內容時才會受到影響。

使用者介面的 chrome JavaScript 必須使用 message manager 來間接存取網頁內容。為了緩解過渡期的影響,我們已經實作了 Cross Process Object Wrappers 和一些給附加元件開發者的相容替代方案。如果你是附加元件的開發者,想知道這會不會影響到你,請參閱多處理程序 Firefox 的工作指南


技術總覽
非常高階的多處理程序 Firefox 實作解釋。
網頁內容相容性指南
過渡期可能出現的潛在網站相容性問題的指南和細節。提示:不是很多!
用語表
多處理程序 Firefox 的術語參考。
Message manager
溝通介面與內容的元件完整指南。
基於 SDK 的附加元件
如何移植使用 Add-on SDK 開發的附加元件。
各種 URIs 在哪裡載入
URIs(chrome:, about:, file:, resource:)在哪個處理程序中載入的快速指南。
動機
為什麼我們要實作多處理程序的 Firefox:效能、安全和穩定。
附加元件移植指南
如果你是附加元件的開發者,來這裡看看你要如何處理程式碼。
跨處理程序元件包裝(Cross Process Object Wrappers)
Cross Process Object Wrappers 是一個移植工具,讓 chrome code 可以同步存取內容。
內容處理程序的除錯
如何在內容處理程序、包含框架和處理程序腳本中進行除錯。
多處理程序 Firefox 的分頁處理
在多處理程序的 Firefox 中分頁是如何切換的。

Chrome 程式碼的限制
不再有用的 Chrome 程式碼,以及如何修正。
框架程式碼的限制
不再有用的框架程式碼,以及如何替代。

聯絡我們

了解更多關於項目、參與、或者來問問題。

文件標籤與貢獻者

 此頁面的貢獻者: jmlntw
 最近更新: jmlntw,