2012-11-09 58 views
3

爲Mozilla Firefox開發擴展我想知道現在我所做的是否有一種「更簡單的方法」。目前我做的:開發一個Firefox擴展(不是通過編碼到第一個xpi)?

  1. 創建一個文件夾 - 此文件夾中,例如myextension

  2. - 在其中開發:創建和編輯文件(如的install.rdf,chrome.manifest用於,XUL文件。基本上所有Firefox擴展的其他結構(沒有問題這裏))

  3. 拉鍊壓縮myextension到一個ZIP文件的內容(即名爲myextension.zip)

  4. 重命名myextension.zip到myextension.xpi

  5. 安裝的XPI文件Firefox的擴展然後在Firefox

  6. 重新啓動Firefox

  7. 測試進一步擴展

每次編輯到擴展的代碼庫後,我需要經歷3. zip-compress,4.重命名,5.將XPI文件安裝到Firefox,6重新啓動瀏覽器。

當然,我可以自動化這一些,但我仍然想知道是否有另一種方式直接在運行的firefox個人文件夾中開發Firefox擴展。

我所知道的擴展存儲在Firefox的配置文件夾爲: firefox/profile/extensions/nameofextension.xpi

我不記得很清楚,但我認爲有辦法有被存儲解壓縮的文件夾中有太多的擴展?這樣我仍然需要重新編輯後重新啓動,但不做所有的laboulesome壓縮重命名安裝。

任何想法?

+0

這是我一直在尋找的解決方案https://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/總之我會將答案發布給我這裏的問題給出了關於「如何設置firefox-extension的就地編輯」的基本說明。 – humanityANDpeace

回答

5

可以設置一個目錄來「就地編輯」一個Firefox擴展。通過這種方式,可以減少Firefox擴展的編輯和測試工作量。

我已經找到了很好的解釋在博客上https://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/

在這裏,我想給要實現「就地編輯」

第1步的主要步驟:你必須找到你的Firefox的個人資料目錄。 例如在Linux中,這往往會成爲經常是這樣的: ~/.mozilla/firefox/#%#%.default/

第2步:進入這個配置文件目錄

步驟3:如果您已經安裝任何擴展名(例如像Adblock的+或noscript),然後在這個配置文件目錄中,您將找到一個名爲的文件夾,其中的擴展名爲。如果你還沒有安裝任何額外的擴展,可能很容易安裝任何,只是爲你設置**擴展名「文件夾。

第4步:在此擴展文件夾,您可以創建一個新的目錄(讓我們把它命名爲「myextensions_1」),它將包含你的插件的東西,這些東西將是普通的東西,如install.rdf,chrome.manifest文件和content,skin,locale子目錄。將正常壓縮成爲XPI文件

第5步。創建一個文件,該文件等於<em:id>標籤的內容用在你的`nstall.rdf文件中。因此,如果您使用<em:id>[email protected]</em:id>,則需要創建一個名爲[email protected]的文件。在此文件中,您將編寫之前創建的「in-place-edit-extension-folder」的位置。在我們的例子中,我們將有

  • 僅包含課程的文本取決於你使用你的插件文件夾的位置文本~/.mozilla/firefox/#%#%.default/extensions/myextensions_1

文件[email protected]

  • 如果你正確地做了所有事情 - 也許再次按照上面鏈接的說明進行檢查 - 你可以重新啓動或「重新啓動」firefox。瀏覽器會詢問您是否允許使用插件[email protected],您可以承認。

    現在您可以在文件夾~/.mozilla/firefox/#%#%.default/extensions/myextensions_1中進行編輯,無需擔心壓縮 - >重命名 - >安裝。 您可以簡單地重新啓動Firefox,並對您的擴展代碼進行編輯即可使用。

    這將使您更快捷地開發「就地」。

  • +0

    是否接受將自己的答案標記爲「解決方案」?雖然我明確地認爲這看起來有點傲慢和自信,但我不得不說。我研究了答案(外部的stackoverflow宇宙),它確實允許我在尋求的東西,當提出這個問題 – humanityANDpeace

    +1

    另一個很好的資源,其中還包括一些提示如何設置**就地編輯**是在這裏找到[https://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environment](https://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environment) – humanityANDpeace

    +1

    我去了Mozilla鏈接,因爲你的指示werent爲我工作。我注意到在他們說的mozilla鏈接,以確保你在目錄名稱中包含了一個尾部的斜線,你省略了,你也省略了明確提及將代理文件放入哪個目錄。btw擴展名數據文件不需要住在擴展目錄中,只有代理文件。 * update * doh我把代理文件放在完全錯誤的目錄中。畢竟,畢竟可能不是最後的斜線。 – user280109

    3

    注意:這是一個無恥的自我插件 - 我正在談論我自己創建的擴展。

    開發一個擴展到位是可能的,但有很多問題(主要是緩存各種),它確實不是一個好的選擇。儘管如此,您仍然可以簡化您的開發週期。爲此,您需要在您的Firefox中安裝Extension Auto-Installer加載項。然後,你可以把一個批處理文件(假設你正在開發Windows)進入的線沿線的擴展程序目錄:

    zip -r test.xpi * -xi *.bat *.xpi 
    wget --post-file=test.xpi http://localhost:8888/ 
    del test.xpi 
    

    所需的命令行工具都預先安裝在基於Unix的系統,Windows系統可以輕鬆下載它們:zip,wget

    然後,您只需運行該批處理文件即可在Firefox中更新您的擴展程序。如果你的擴展不能重啓,那麼Firefox會自動重啓。所以這取代你的步驟3到6.

    +0

    謝謝。我在linux下開發。你想簡化和自動化從擴展的開發文件夾中的「zip重命名 - 安裝xpi」是聰明的。無論如何,我發現這個https://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/文章。它詳細介紹了進一步簡化過程的方法。事實上,這是我在這裏尋找的「就地編輯」選項。我已經回覆了我的「自己的」答案,但我只能在懷疑8小時後給出說明(對於我的「窮人」8個經驗點:) – humanityANDpeace

    +0

    @humanityANDpeace:對,您找到了我提到的選項「has這麼多問題「。我通常試圖給出一個有用的答案,並不總是OP要求的答案 - 但祝你好運! –

    +0

    @ Wladimir:非常感謝答覆,謝謝。事實上 - 沒有 - 甚至更快速的解決方案,我很可能會開發您建議的這種機制/自動化。當然還是在linux下。也許你可以使用我的答案的靈感進一步改進你的Firefox擴展開發過程? – humanityANDpeace

    相關問題