2012-01-07 6 views
3

ユーザーが拡張機能アイコンをクリックしたときに実行するだけのコードがあります。私はむしろでなく、は開いているすべてのタブに対して実行しています。したがって、マニフェストファイル内のcontent_scriptsエントリを使用するのは最良の選択肢ではありません。しかし、プログラムスクリプトでスクリプトを挿入すると、開発者ツールのスクリプトのリストにコンテンツスクリプトが表示されることはありませんでした。私は今コンテンツスクリプトで開発しても問題ありませんが、ある時点ではそれを避けたいと思います。注入されたコンテンツスクリプトのデバッグ

私はすべての場所でロギングを実行し、メッセージの受け渡しも実行します。だから私はこれらのスクリプトが正常に注入され実行されていることをよく知っていますが、ファイルリストには表示されません。

function executeNextScript(tabId, files, callback) { 
    chrome.tabs.executeScript(tabId, { 
     file: files.pop() 
    }, function() { 
     if (files.length) 
      executeNextScript(tabId, files, callback); 
     else 
      callback(); 
    }); 
}  


function executeScripts(tabId, callback) { 
    var files = [ 
     "closure/goog/base.js", 
     "closure/goog/deps.js", 
     "util.js", 
     // ... 
     "makeRequests.js" 
    ]; 
    executeNextScript(tabId, files.reverse(), callback); 
} 

答えて

2

あなたが設定しdebugger JavaScriptのキーワードを使用することができますコードで

、以下の(マニフェストに)ちょうどダンディ作品:のonClickはないの後

{ 
    // ... 
    "content_scripts": [{ 
     "matches": ["<all_urls>"], 
     "css": ["style/content.css"], 
     "js": [ 
     "closure/goog/base.js", 
     "closure/goog/deps.js", 
     "util.js", 
     "AddressRE.js", 
     // ... 
     "makeRequests.js" 
    ] 
    }] 
}  

は、次のことを実行しますコード内のブレークポイント。

0

私は注入されたすべてのスクリプトに//@ sourceURL=myscript.jsを追加し、注入されたソースのリストに追加します

関連する問題