LoginSignup
0

More than 1 year has passed since last update.

Firefoxアドオン(拡張機能)で、Content scriptsのエラーが何故かコンソールに表示されない問題

Posted at

また5周遅れ位の話ですが、とある事からFirefoxのAdd-onを作ろうとした際、Content scripts(content.js)が例外を出して止まっているっぽいのにコンソールにはエラーメッセージが表示されない事で対応に時間を食われた件について。

解決法

方法1. CTRL+SHIFT+J、又はメニューで「ブラウザーコンソール」を開く。
FirefoxではContent scriptsのエラーはこのブラウザーコンソールウインドウにのみ表示されます。普通のコンソールでは見れません。

方法2. 全部try...catchで囲む
content.js全体をtry...catchで囲めばcatchブロック内からエラーメッセージをconsole.logで出力する事ができます。

方法3. デバッガの「例外で停止」にチェック
デバッガの「ブレークポイント」以下にある「例外で停止」チェックボックスを有効にすれば、Content scriptsの例外にも反応します。

参照:
Console doesn't log js errors from content script - Stack Overflow

「ブラウザーコンソール」とは?

F12で開く通常のコンソール(Web コンソール)とは別物です。MDNによれば……

ブラウザーコンソール - 開発ツール | MDN
https://developer.mozilla.org/ja/docs/Tools/Browser_Console
ブラウザーコンソールは Web コンソール に似ていますが、ひとつのコンテンツタブではなくブラウザー全体に適用されます。
(中略)
ひとつのコンテンツタブの情報を記録するのではなく、すべてのコンテンツタブ、アドオン、ブラウザー自体のコードの情報を記録します。

違いは、全タブとその他の情報(アドオン含む)が一括で表示されるという事でしょうか。タブではなくウインドウとして表示されます。

どうしてこんな事に?

Chrome extensionsでは普通に開発者ツールを開けば表示できる情報を、互換を持つFirefox Add-onだとこのようなイレギュラーな手段でしか見れないのは混乱しか生みません。なぜ、いつからこのような状態なのでしょうか。検索すると2017年からのバグレポートが見つかります。

(2017/07) Console doesn't display content script errors - Add-ons / Development - Mozilla Discourse
https://discourse.mozilla.org/t/console-doesnt-display-content-script-errors/23009
(2017/10) 1410932 - Errors raised in the content scripts context should be logged in the related tab's webconsole
https://bugzilla.mozilla.org/show_bug.cgi?id=1410932
(2018) 1439666 - Errors in content script are not visible in console
https://bugzilla.mozilla.org/show_bug.cgi?id=1439666

2017年はちょうどFirefox Add-onが旧仕様からChrome extensionsに追従した WebExtensions API に置き換わった年なので、この問題は置き換え当初から存在していたのかも知れません。詳しく内容を追った訳ではないですがどうも問題は根深いらしく、現在まで解消できていないようです。

大した問題ではない?

割とクリティカルな問題に思えますが検索してもそこまで話題にはなっておらず、Qiitaでも(ざっくり検索ですが)以下の一件しか見つかりませんでした。これは2018年の記事のようです。

何故問題にならないのでしょう。Chrome用の拡張を少しいじれば(或いは全くいじらずとも)動く故、動作テストはChromeだけで事足りてしまうから?もしかして、Firefoxをメインに拡張を書いてる人間自体がもう殆どいないのでしょうか? そういえばブラウザの世界シェアは今どうなってるのだろうと久しぶりに調べてみると……

  • Chrome 64.91%
  • Firefox 3.26%

参照: (2022/6 時点)
Statcounter Global Stats - Browser, OS, Search Engine including Mobile Usage Share
https://gs.statcounter.com/

えっこんなに…?嘘やろ…?
ツイッターでグラフの推移を動画にしてる人がいたので貼っておきます。

Androidの存在が大きいのでしょうが、この10年で開いたChromeとの差は絶望的。ブラウザの選択肢がGoogle Chromeひとつしかないディストピアを回避するためにも、みんなせめてPCではFirefoxを使おう!サイドバーは良いぞ!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0