Skip to content

Instantly share code, notes, and snippets.

@devdave
Forked from akirattii/background.js
Created October 16, 2018 20:34

Revisions

  1. @akirattii akirattii created this gist Dec 2, 2016.
    14 changes: 14 additions & 0 deletions background.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    /*****************************************************************
    * onMessage from the extension or tab (a content script)
    *****************************************************************/
    chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
    if (request.cmd == "any command") {
    sendResponse({ result: "any response from background" });
    } else {
    sendResponse({ result: "error", message: `Invalid 'cmd'` });
    }
    // Note: Returning true is required here!
    // ref: http://stackoverflow.com/questions/20077487/chrome-extension-message-passing-response-not-sent
    return true;
    });
    31 changes: 31 additions & 0 deletions manifest.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    {
    "name": "example",
    "version": "0.0.1",
    "description": "Chrome Extension's message passing example",
    "permissions": [
    "<all_urls>",
    "webRequest",
    "webRequestBlocking",
    "background",
    "activeTab"
    ],
    "background": {
    "scripts": ["background.js"]
    // "persistent": false
    },
    "content_scripts": [{
    //"matches": ["http://*/*"],
    // "css": ["mystyles.css"],
    "js": [
    "extlib/js/jquery.min.js",
    "content.js"
    ]
    }],
    "browser_action": {
    "default_title": "hoge",
    "default_icon": "icon.png",
    "default_popup": "popup.html"
    },
    "manifest_version": 2,
    "content_security_policy": "script-src 'self' https://ajax.googleapis.com https://maxcdn.bootstrapcdn.com/; object-src 'self'"
    }
    18 changes: 18 additions & 0 deletions popup.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    // If you want to sendMessage from any popup or content script,
    // use `chrome.runtime.sendMessage()`.

    // Send message to background:
    chrome.runtime.sendMessage(p, function(response) {
    console.log(`message from background: ${JSON.stringify(response)}`);
    });


    // If you want to sendMessage from tab of browser,
    // use `chrome.tabs.sendMessage()`.

    // Send message from active tab to background:
    chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
    chrome.tabs.sendMessage(tabs[0].id, p, function(response) {
    console.log(`message from background: ${JSON.stringify(response)}`);
    });
    });