我试图通过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' ",
此错误消息的解决方法是什么?
答案 0 :(得分:2)
您正在尝试使用webkitNotifications api,这要求用户事先同意显示通知。
从扩展程序中,您可以使用chrome.notifications api,但您需要从后台页面而不是内容脚本中执行此操作。如果您需要根据网页上发生的事情显示通知,您可以将内容脚本中的消息发送到您的后台页面,告诉它显示通知。