Debugowanie skryptów zawartości dla rozszerzenia Chrome

Ogólne pytania

Witaj! Zagłębiam się w świat rozszerzeń Chrome i mam pewne problemy z obniżeniem ogólnego przepływu pracy. Wygląda na to, że Google ostatnio przerzuciło się na mocno promujące strony zdarzeń zamiast przechowywać wszystko w background.js i background.html. Biorę część tego, co oznacza, że ​​powinniśmy przekazać większość logiki rozszerzenia do skryptu treści.

WPodkład Google Event Page, mają skrypt zawartości wymieniony w pliku manifest.json. Ale w ich rozszerzeniu przykładowym strony zdarzenia jest on wprowadzany przez ten blok kodu w background.js:chrome.tabs.executeScript(tab.id, {file: "content.js"}, function() { });

Jakie są zalety robienia tego w jedną stronę?

Mój kod

Idę dalej z programowym sposobem wstrzykiwania skryptu treści, jak przykład Google.

manifest.json
{
    "manifest_version": 2,
    "name": "Test",
    "description": "Let's get this sucker working",
    "version": "0.0.0.1",
    "permissions": [
        "tabs",
        "*://*/*"
    ],
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "browser_action": {
        "default_icon": "icon.png"
    }
}
background.js
chrome.browserAction.onClicked.addListener(function() {
    console.log("alert from background.js");
    chrome.tabs.executeScript({file: "jquery-2.0.2.min.js"}, function() {
        console.log("jquery Loaded");
    });
    chrome.tabs.executeScript({file: "content.js"}, function() {
        console.log("content loaded");
    });
});
content.js
console.log('you\'r in the world of content.js');
var ans = {};

ans.createSidebar = function() {

    return {
        init: function(){
            alert("why hello there");
        }
    }
}();

ans.createSidebar.init();

Jestem w stanie zdobyć pierwsze 3console.log instrukcje do wyświetlenia w debuggerze strony tła. Potrafię także wyświetlić alert z content.js na dowolnej stronie internetowej. Ale nie mogę zobaczyćconsole.log z content.js, ani nie jestem w stanie wyświetlić żadnego z JS z content.js. Próbowałem zajrzeć do sekcji „skrypty treści” na karcie Źródła debugera strony w tle. Kilka innych postów na temat SO zasugerowało dodaniedebugger; oświadczenia, żeby to pokazać, ale nie mam szczęścia z niczym. Najbliższe rozwiązanie, jakie widziałem, toten post, ale odbywa się poprzez wyświetlenie skryptu treści w manifeście.

Każda pomoc byłaby doceniana. Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion