0

我试图通过 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' ",

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

4

1 回答 1

2

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

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

于 2013-09-07T09:33:36.190 回答