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

Published on:
Last updated:

This post is also available in: Japanese

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

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

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

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

messenger.launchExternalURL()

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.