Chrome 扩展 - 通知只在 apache 中工作

Chrome extension - Notification just work in apache

我已经配置了我的 chrome 扩展来发送这样的通知:

我有一个按钮,它有一个调用 createNotification 的事件。但是,如果我是 运行 apache 上的扩展程序,该按钮只会发送通知。

我做错了什么?

等于那个例子http://jsbin.com/ziwod/1/edit?html,js,output 对我来说,当我点击 "Run with JS".

时,这个例子就起作用了

这是我的清单

    {
  "name": "EXTENSION EXAMPLE",
  "version": "0.0.1",
  "manifest_version": 2,
  "description" : "This extension is...",
  "icons": { "16": "icons/16x16.png", "48": "icons/48x48.png", "128": "icons/128x128.png" },

  "omnibox": { "keyword" : "example" },

  "browser_action": {
    "default_icon": {
      "19": "icons/19x19.png",
      "38": "icons/38x38.png"
    },
    "default_title": "Launcher",
    "default_popup": "browseraction/popup.html"
  },

  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "permissions" : ["notifications"],
  "options_page" : "notification.html",
  "chrome_url_overrides" : {
   "newtab": "newtab/newtab.html"
  },

  "devtools_page": "devtools/devtools.html"
}

这是我的notification.htmlhttp://codepen.io/anon/pen/VYWQwB

从您的 html 文件和 "manifest_version": 2 的清单文件可以看出 Content Security Policy 默认处于启用状态。并且 Chrome 开发人员对此选择严格并始终禁止内联 JavaScript 代码 - 仅允许执行放置在外部 JavaScript 文件中的代码(以防止扩展中的跨站点脚本漏洞).所以 <button onclick="notifyMe()"> 在你的 html 文件中是不允许的。 onclick 属性是内联脚本。您应该改为分配 ID 属性:<button id="button">