無効にするスマイリースマイリーを全て表示するトピックのレビュー[quote="WADA"]追記です。普通と異なるのは、JSファイルのロード時に実行されるのは、このアドオン用の唯一のグローバルオブジェクト(window.XYZのようなグローバル変数)の定義と、そのいくつかのプロパティーの値のセットと、多くの関数を、その唯一のグローバルオブジェクトのプロパティーとして定義しているだけ、ということです。JSファイルの中には、functionステートメントはありません。全てが、ボタンクリックの後のグローバルオブジェクトのプロパティーのfunctionのコール、になっていて、いくつかは、イベントハンドラーやイベントリスナーとして使うようになっています。これは、windowのプロパティー(グローバル変数)のバッティングや、varやletを書き忘れてwindow.xyzを壊してしまうことを減らすためです。Objectオブジェクトの定義をしているだけですから、JSファイルのロード時のシンタックスチェックには、まず引っかかりません。実行時に判明するシンタックスエラーや未定義変数の参照エラーなどは、エラーのあるブロックが大体わかっている時には、try/catchでほぼ引っ掛けられるのですが、何箇所か書き換えていたり重要な場所でのエラーで何も実行されないような場合には、エラーコンソールにエラーメッセージがでてくれないと、手も足もでない状態になってしまいます(^^;[/quote][quote="WADA"]追記です。普通と異なるのは、JSファイルのロード時に実行されるのは、このアドオン用の唯一のグローバルオブジェクト(window.XYZのようなグローバル変数)の定義と、そのいくつかのプロパティーの値のセットと、多くの関数を、その唯一のグローバルオブジェクトのプロパティーとして定義しているだけ、ということです。JSファイルの中には、functionステートメントはありません。全てが、ボタンクリックの後のグローバルオブジェクトのプロパティーのfunctionのコール、になっていて、いくつかは、イベントハンドラーやイベントリスナーとして使うようになっています。これは、windowのプロパティー(グローバル変数)のバッティングや、varやletを書き忘れてwindow.xyzを壊してしまうことを減らすためです。Objectオブジェクトの定義をしているだけですから、JSファイルのロード時のシンタックスチェックには、まず引っかかりません。自動的にパースしないユーザエージェントを表示する認証コード認証コード:*上の画象に表示されている文字を入力してください。各文字は大文字・小文字の区別があります。Thunderbirdで、XULのスクリプトのシンタックスエラーがエラーコンソールに出ないほぼ、「自己解決」、です。importユーティリティがロード時にシンタックスエラーを検出すると、エラーメッセージをだしてくれます。使えば、階層化できるので、あるオブジェクト内の個々のfunctionにつき一つの.jsmファイル、ということも非常に簡単にできて、便利。複数のAdd-Onに分けてSingletonを共有、ということも、簡単にできます。今あるコードを全てSingletonのオブジェクトに移行するのは、ちょっと手間がかかりますけど。書いておかないといけない。書いておくだけでいい、という話ではあるんですけどね。