2011-08-29 39 views
1

In what order do Firefox extensions get initialised?涵蓋了如何在啓動過程中通常調用Firefox擴展(安裝順序)。 我想知道是否有一種擴展名的官方方式來改變這種情況,特別是說它想要接近結束時(而我們在接近開始時)。類似於其他插件方法中可見的優先級標誌。firefox擴展可以按照啓動時調用的順序進行更改嗎?

+0

你的問題中缺少的重要信息:我們在談論什麼?仍然瀏覽器窗口覆蓋或啓動時真正的擴展初始化?或者,也許疊加層運行JavaScript代碼的順序?或者甚至可能是初始化重新啓動的擴展?我試圖給出一個普遍的答案,但沒有給我們任何細節,你不能指望一個好的答案。 –

回答

0

一般來說,答案是「否」 - 擴展應用的順序可以被認爲是「隨機的」(我真誠地懷疑它確實是「按照安裝順序」)。但它仍然取決於你想要做什麼。

如果您希望XPCOM組件在啓動過程中變爲活動狀態,則會有一些observer notifications。通常,擴展程序會收聽profile-after-change通知。不過,您也可以選擇收聽profile-do-changefinal-ui-startup,具體取決於您的分機想要做什麼。

如果我們正在談論瀏覽器窗口覆蓋圖,那麼您可以在那裏影響很少。但是,您仍然可以選擇是否要將覆蓋圖應用於chrome://browser/content/browser.xul或應用於此窗口的覆蓋網址。如果您希望在覆蓋另一個您知道必須存在的擴展名之後應用覆蓋層,則後者特別有用。

+0

所以這聽起來像疊加在final-ui-startup之前應用。或者,也許我可以使用sessionstore-windows-restored來確保它們全部加載? 覆蓋另一個的技巧聽起來很有希望。所以我可以把我的覆蓋層放在chrome://someext/content/someext-browser-overlay.xul上,直到someext-browser-overlay.xul加載後我的覆蓋層纔會被調用。 我明顯可以使用組合,以防萬一someext-browser-overlay.xul丟失。謝謝! – studgeek

0

不,標準的Firefox清單不包括任何支持相對於任何其他擴展控制加載順序的支持。擴展加載順序的選擇本質上是任意的,並且完全由Firefox實例根據廣義上沒有記錄的方式來確定。

相關問題