Thunderbirdアドオン開発:ブラウザで開こうとWindow.openしたら「No chrome package registered for chrome://navigator/content/navigator.xul」とエラーが出る場合のメモ

記事公開日:
最終更新日:

This post is also available in: English-US (英語)

Thunderbirdアドオン開発をしている際に、メール文中のリンクをブラウザで開こうとした際のエラーの対処方法をメモ代わりに書いています。

状況としては window.open() でリンクをブラウザで開こうとしたら、開発ツールのコンソールタブに以下のようなエラーが出る場合です。
あんまり詳しく調べていませんが、window.open() の window ってのが、「Thunderbirdのどのウィンドウか指定されていない」っていうエラーだと思います。

No chrome package registered for chrome://navigator/content/navigator.xul

で、対処方法としては、window.open() の代わりに以下のように書くとブラウザでリンクを開くことができるようになりました。
コードが走るThunderbirdのウィンドウが明確になっている場合か、nsIMessengerが定義されている場合かでないと動かないみたいです。

messenger.launchExternalURL()

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。