エラーコンソールやブラウザコンソールに出力する。
出力するURLにリンクを張りたいんだけど、無理なのかな…
ブラウザコンソールを開く
window.HUDService.openBrowserConsoleOrFocus();
windowは"navigator:browser"ウィンドウ。
windowがない場合は、
var {devtools} = Cu.import("resource://devtools/shared/Loader.jsm", {});
var HUDService = devtools.require("devtools/client/webconsole/hudservice");
HUDService.openBrowserConsoleOrFocus();
Console.jsmを使ってブラウザコンソールに出力
Cu.import("resource://gre/modules/devtools/Console.jsm");
console.log("sample message");
エラーコンソールには出力されないのに注意。
警告とかエラーとか、タイマーやスタックトレースもある。
従来のコンソールサービスを使って出力
メッセージを出力
Cu.import("resource://gre/modules/Services.jsm");
Services.console.logStringMessage("sample message");
エラー、警告、メッセージをより詳細に出力
Cu.import("resource://gre/modules/Services.jsm");
var scriptError = Cc["@mozilla.org/scripterror;1"].createInstance(Ci.nsIScriptError);
var aMessage = "sample message"; // 出力する文字列
var aSourceName = null; // ソースファイルのURL。nullなら表示しない
var aSourceLine = null; // 行番号。nullなら表示しない
var aLineNumber = null; // エラー位置特定のための行番号
var aColumnNumber = null; // エラー位置特定のための桁番号
var aFlags = scriptError.warningFlag; // エラー、警告、例外、メッセージのどれなのか指定
var aCategory = "chrome javascript"; // コードの種類を指定
scriptError.init(aMessage, aSourceName, aSourceLine, aLineNumber, aColumnNumber, aFlags, aCategory);
Services.console.logMessage(scriptError);
わざわざnsIScriptErrorオブジェクトを作らないといけないのが激しく面倒。
ただ、「警告」が出せるのはこれだけっぽい。
reportErrorでエラーを出力
Cu.reportError("reportError message");
最終更新:2016年09月06日 08:04