2011-10-05 83 views
0

背景信息的問題:對火狐瀏覽器安裝的向後兼容/擴展

在過去的一週,我一直在與Chrome擴展瞎搞,並沒有問題,我創建擴展。偉大的Chrome岩石讓開發過程變得非常容易學習,而且,很簡單!

現在我想到了我想爲儘可能多的瀏覽器創建這個擴展,所以我決定接下來使用Firefox。

真是一團糟!那裏的文件沒有做什麼,但讓我頭疼,浪費我的時間到目前爲止,非常複雜,而且一般都是無組織的。

我設法找到了一個簡單的擴展,我想我可以作爲一個起點使用,並已開始與亂搞一個代碼示例 - 精...

我瞭解到,這個樣本擴展不會可以使用低於Firefox 4的任何內容,因爲它使用引導技術在不重新啓動瀏覽器的情況下安裝擴展。 Ughhhhhh ....

現在我們到達了我的問題:

  1. 是否有可能開發針對Firefox 7的擴展,將與Firefox的早期版本的工作?我甚至不關心Firefox 4之前的任何事情,如果這是無重啓安裝的切點。很高興知道,我一直在花費的時間會一直工作,並且在用戶被提示下次升級時超過一週。

  2. 相反嗎?我可以創建一個兼容Firefox 3.5到Firefox 7的擴展嗎?我意識到這需要重新啓動才能安裝,但如果它導致了工作的擴展而不考慮版本,那將是可以接受的。

  3. 任何有這方面經驗的人都可以分享一下我對自己的看法嗎?看起來這是一個開發平臺的噩夢,而且我將不斷修復我的擴展。

最後一條相關信息:

擴展我發展是純粹基於JavaScript的 - 這東西應該工作(我想?),因爲它依賴於只有一個功能「的內容腳本「,實際上不應該在版本之間在這一點上改變......對嗎?

那我究竟錯過了什麼?如何創建可在所有瀏覽器版本中工作的易於管理的Firefox擴展?

謝謝大家! :)

回答

2

您必須區分使用Add-on SDK構建的「傳統」擴展名和擴展名。前者更強大,因爲他們可以直接訪問瀏覽器使用的所有API,但這也是他們編寫起來更復雜的原因,以及爲什麼文檔相當無序(只有非常多的東西可以做,遠遠超過你使用Chrome的可能性)。隨着瀏覽器的變化,它們也更容易崩潰。另一方面,附加SDK爲您提供了一個與Chrome非常相似的有限API。附加SDK目前支持從Firefox 4開始的所有內容(是的,因爲無重啓安裝),並承諾瀏覽器更改只需要使用更新版本的附加SDK重新編譯附加組件。實際上,對addons.mozilla.org上託管的附加組件重新編譯will likely happen automatically in future。在你的問題:

是否有可能開發一個Firefox 7的擴展,將與Firefox的早期版本?

當然可以。附加SDK目前標記爲您的附加組件與Firefox 4 Beta 7和Firefox 8 Alpha 1之間的任何組件兼容。即使是傳統的附加組件,從Firefox 4開始,特定瀏覽器版本之間的差異相當小,大多數情況下在所有這些工作。您也可以與Firefox 3.x保持兼容,但取決於您所做的操作,可能需要付出一些努力。重要信息:

如何反?我可以創建一個兼容Firefox 3.5到Firefox 7的擴展嗎?

無論你走哪條路都無所謂。但我不建議花費太多時間在Firefox 3.x支持上。 Firefox 3.5不再支持,唯一相關的版本是Firefox 3.6。根據我附加組件的統計數據,約有18%的Firefox用戶繼續使用它。在接下來的幾個月裏,這個比例將會變得更小,特別是當Mozilla宣佈這個分支結束時。所以對於一個新的附加支持它通常是不合理的。

任何有這方面經驗的人都可以分享一下我對自己的看法嗎?

取決於您的加載項的複雜程度。由於您正在開發與Chrome擴展程序相同的內容,因此您很可能會使用附加SDK,這意味着不會有任何兼容性問題。作爲傳統的附加組件,簡單的附加組件不依賴於某些模糊的實現細節,通常也不會有任何問題保持兼容(自Firefox 3.5以來,我有兩個附加組件不需要單獨調整) 。深入系統的附加組件當然更成問題。

+0

超棒的男人,你搖滾! :) 感謝這真的很棒的信息 – delta9