Search code examples
javascriptgoogle-chromegoogle-chrome-extension

google chrome extension :: console.log() from background page?


If I call console.log('something'); from the popup page, or any script included off that it works fine.

However as the background page is not directly run off the popup page it is not included in the console.

Is there a way that I can get console.log()'s in the background page to show up in the console for the popup page?

is there any way to, from the background page call a function in the popup page?


Solution

  • Any extension page (except content scripts) has direct access to the background page via chrome.extension.getBackgroundPage().

    That means, within the popup page, you can just do:

    chrome.extension.getBackgroundPage().console.log('foo');
    

    To make it easier to use:

    var bkg = chrome.extension.getBackgroundPage();
    bkg.console.log('foo');
    

    Now if you want to do the same within content scripts you have to use Message Passing to achieve that. The reason, they both belong to different domains, which make sense. There are many examples in the Message Passing page for you to check out.

    Hope that clears everything.