chrome扩展中使用的webkitNotifications.createNotification未被捕获的安全性异常

时间:2013-09-07 07:47:27

标签: javascript google-chrome-extension

我试图通过Chrome扩展程序显示简单的桌面通知。但我保留此错误消息:

Uncaught SecurityError: An attempt was made to break through the security policy of the user agent.

这是我的清单文件:

{
  "name": "My extension",
  "version": "1.0",
  "manifest_version": 2,
  "content_scripts": [
    {
      "matches": ["myurl/*"],
       "js": ["contentScript.js"]
    }
  ],
  "permissions": [
    "notifications"
  ],

  "web_accessible_resources": [
    "chrome-logo.png"
  ]
}

内容脚本是:

 var notification = webkitNotifications.createNotification(
  'chrome-logo.png',  // icon url - can be relative
  'Hello!',  // notification title
  'Lorem ipsum...'  // notification body text
);
notification.show();

我在manifest.json文件中添加了这一行,但这也无济于事:

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self' ",

此错误消息的解决方法是什么?

1 个答案:

答案 0 :(得分:2)

您正在尝试使用webkitNotifications api,这要求用户事先同意显示通知。

从扩展程序中,您可以使用chrome.notifications api,但您需要从后台页面而不是内容脚本中执行此操作。如果您需要根据网页上发生的事情显示通知,您可以将内容脚本中的消息发送到您的后台页面,告诉它显示通知。