2016-04-19 11 views
2

jpm(1.0.5)の最後のバージョンを使用してFirefox拡張機能を実現していますが、この拡張機能はstartup()またはshutdown()メソッドを呼び出さない。私はそれがinstall.rdfのファイルに新しいjpm Firefoxでブートストラップされた拡張子

<em:bootstrap>true</em:bootstrap> 

として延長を宣言することは必須でなければなりません知っているが、私は(JPMのINITを使用して)私の名前空間を作成したとき、それはパッケージから置き換えられていること、このファイルはありませんでした。 json。この場合、スタートアップとシャットダウンの方法を使用するためにファイルをどのように変更する必要がありますか?

+0

bootstrap.jsはここに、このガイドに従って変更しないJPMを使用している場合 - https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_Started_ %28jpm%29 – Noitidart

+0

申し訳ありませんが、私はあなたのコメントを理解できません....私はbootstrap.jsについて話しているわけではありません(それはjpmの最新バージョンから生成されていません)、どのように "bootstrable"を拡張子にするか – hasmet

+0

「ブートストラップ可能」とは何ですか? twitterブートストラップを使用しますか?あなたはjpmを使用しているので、install.rdfやbootstrap.jsについて考える必要はありません。 bootstrapbleによって、あなたはtwitter bootstrap.js/bootstrap.cssを意味しますか? – Noitidart

答えて

1

私のmain.jsでは、このようなロードとアンロードを待ち受けます。

exports.main = function(options, callbacks) { 
    if (options.loadReason == "install" || options.loadReason == "startup") { 
     factory = new Factory(AboutDualView); 
     factory = new Factory(AboutEPFViewer); 
     registerRemotePages(); 
    } 
} 

exports.onUnload = function (reason) { 
    if (reason == "shutdown") { 
     factory.unregister(); 
     RemotePageManager.removeRemotePageListener("about:dualview"); 
     RemotePageManager.removeRemotePageListener("about:epfviewer"); 
    } 
}; 

function registerRemotePages(){ 
    let DualViewmanager = new RemotePages("about:dualview"); 
    let EPFViewmanager = new RemotePages("about:epfviewer"); 
} 

リファレンスhttps://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/SDK/Tutorials/Listening_for_load_and_unload

1

あなたにはどのような種類のアドオンがありますか?

従来のAPIを使用したXUL /オーバーレイアドオンのような音です。その場合は、独自のbootstrap.jsファイルを作成する必要があります。 convert an overlay extension to restartlessへのすべての手順を完了しましたか?

jpm initは、Addons-SDKを使用する場合にのみブートストラップコードを作成します。おそらく、アドオンをパッケージ化してコマンドラインからAMOに送信する機能を除いて、新しいAddons-SDK APIを使用してアドオンを作成していない限り、jpmを使用する利点はわかりません。 jpmのデバッグ/検証チェックでは、多くの問題を捕捉していないようです.XUL/Overlay APIベースのアドオンではほとんどありません。

おそらくあなたはすでにここで見たことがありますか? Bootstrapped extensionsは、文書化されたスケルトンbootstrap.jsにリンクしています。

chrome.manifestでは、overlay命令がブートストラップ拡張でサポートされていないことに注意してください。

これらのトピックおよびその他のトピックは、上記の「変換」ドキュメントにも記載されています。

+0

私の場合、アドオンはXUL /オーバーレイではありませんが、すでに再起動していないアドオンです。事実、私のエントリーポイントは "main.js"(jpm initを使って自動作成)です。 jpm initを使用して新しいアドオンを作成し、developer.mozilla.org/en-US/docs/Extensions/bootstrap.jsからエントリーポイントファイルにコードを挿入し、必要な要素をすべてインポートすると、スタートアップとシャットダウン方法 – hasmet

関連する問題