2016-08-22 8 views
3

バックグラウンドスクリプトでconsole.log()コールの出力を見る方法を知っている人はいますか?私はコンテンツスクリプトで同じものからの出力を見ることができます。ここで私はでこれをテストしていシンプルなスクリプトです:ここではFirefox WebExtensionの背景スクリプトのconsole.log出力はどのように表示されますか?

は私のbackground.jsである:ここでは

console.log("Message from background.js"); 

は私manifest.jsonをです:

{ 
    "name": "TestBed", 
    "manifest_version": 2, 
    "version": "1.0", 

    "background": { 
     "scripts": ["background.js"] 
    }, 

    "browser_action": { 
     "default_title": "Click" 
    }, 

    "applications": { 
     "gecko": { 
      "id": "[email protected]", 
      "strict_min_version": "48.0a1" 
     } 
    } 
} 

私は」また、バックグラウンドスクリプトでこれを試しました。

chrome.browserAction.onClicked.addListener(function() { 
    console.log('Message from background.js onclicked handler'); 
}); 

私はFirebugを他の投稿と同様にアンインストールしましたが、違いはありません(コンテンツスクリプトのconsole.logが動作することに注意してください)。

答えて

3

console.log()の出力は、Browser Consoleのバックグラウンドスクリプトから見ることができます。 Tools➞Web:J OSX上、またはFirefoxのメニューバーから - あなたはキーボードショートカットを使用していずれかの方法でブラウザコンソールを開くことができ、Ctrlキー - シフト - J、またはCmdを - シフト開発者→ブラウザコンソール。

49以上のバージョンのWebExtensionsをテストする場合、私は日常的に間違いを悪用して、拡張機能でブラウザコンソールを開きます。 alert()機能は、バックグラウンドスクリプトではサポートされていませんが、ブラウザコンソールを開き、コンソールに警告テキストを出力します。 これを行うと、Firefoxのバージョンが49.0以上で動作します。ただし、以前のバージョンのFirefoxではエラーが発生します。テストのために

、私は頻繁に私のバックグラウンドスクリプトでのようなものが含ま:

//* For testing, open the Browser Console 
try{ 
    //Alert is not supported in Firefox. This forces the Browser Console open. 
    //This abuse of a misfeature works in FF49.0b+, not in FF48 
    alert('Open the Browser Console.'); 
}catch(e){ 
    //alert() throws an error in Firefox versions below 49. 
    console.log('Alert threw an error. Probably Firefox version < 49.'); 
} 
//* 

  1. のFirefox 52.0a2(デベロッパー版)と53.0a1(夜間)でしばらくは、それが代わりだろう潜在的なエラーを投げる。これらのバージョンの最新のビルドでは、ブラウザコンソールを開き、渡されたテキストとメッセージを2(下)に表示する、Firefox 49の機能に戻りました。
  2. alert()に渡されたテキストに加えて、「alert()はバックグラウンドウィンドウではサポートされていないため、代わりにconsole.logを使用してください」という別の行にも出力されます。
+0

ボタン(ポップアップメニューではない)をクリックすると、どのように「警告」と呼ばれますか? – Andreyua

+0

@Andreyua、背景のスクリプトから?あなたはそうしない。あなた自身のHTMLを使って、アラートのように見えるようにウィンドウを開くことができます。それを効果的にモーダルにすることができます(つまり、何かをする前にユーザーが操作する必要があります)が、JavaScriptの実行を実際にブロックしているものはありません。 – Makyen

+0

気にしない:バックグラウンドスクリプトかどうか、WebExtensionボタンを押して通常のアラートを呼び出す方法は?本当に不可能ではない? – Andreyua

関連する問題