Google chrome Chrome扩展:如何从popup.js调用报警

Google chrome Chrome扩展:如何从popup.js调用报警,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我在做chrome扩展。单击popup.html中的按钮,调用scote从background.js调用alarm ffrom popup.js: document.addEventListener('DOMContentLoaded', function() { var checkPageButton = document.getElementById('checkPage'); checkPageButton.addEventListener('click', functio

我在做chrome扩展。单击popup.html中的按钮,调用scote从background.js调用alarm ffrom

popup.js:

document.addEventListener('DOMContentLoaded', function() {
    var checkPageButton = document.getElementById('checkPage');
    checkPageButton.addEventListener('click', function() {
        //call alarm
        chrome.runtime.sendMessage({greeting: "alert"}, function(response) {
            //NONE response, why?
            console.log(response.farewell);
            alert("response:" + response.farewell);
        });
        document.getElementById('checkPage').innerHTML = "SET"; 
   }, false);
}, false);
background.js:

//alarm
chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        if (request.greeting == "alert"){
            alert("alert alarm");
            sendResponse({farewell: "goodbye"});
        }
    }
);
manifest.json

{
    "name": "AlarmText",
    "version": "0.0.1",
    "manifest_version": 2,
    "permissions": ["alarms", "http://my-url.com"],

    "icons": { "128": "icons/icon128.png",
               "64": "icons/icon64.png",
               "32": "icons/icon32.png" },  

    "browser_action": {
        "default_title": "Alarm test",
        "default_popup": "popup.html"
    },
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    }
}
popup.html

<!doctype html>
<html>
  <head>
    <title>popup</title>
    <script src="popup.js"></script>
  </head>
  <body>
    <div id="out">???</div>
    <button id="checkPage">Refresh</button>
  </body>
</html>

弹出窗口
???
刷新

怎么了?在call alarm:chrome.runtime.sendMessage({greeting:“alert”})中,函数(response)不是response

您发送的
hello
,但是后台脚本希望
alert
,投票以键入问题的形式结束。重新修复,但仍然不工作然后更新问题中的代码。发布您的清单并弹出.html.Add manifest and popup.html