1

Chrome拡張機能を作成していますが、通知Webkit の使用に問題があります。通知を表示しようとすると、例外がスローされます。

キャッチされないエラー: SecurityError: DOM 例外 18

怒鳴る私のJavascriptコードに従ってください:

var icon  = 'icon_48.png';
var title = 'Test Plugin';
var body  = message;
var popup = window.webkitNotifications.createNotification(icon, title, body);
popup.show();

怒鳴る私のmanifest.jsonに従ってください:

{
  "name": "Test Plugin",
  "version": "1.0.6",
  "manifest_version": 2,
  "description": "This is a test",
  "browser_action": {
    "default_icon": "images/icon_32.png",
    "default_popup": "popup.html"
  },
  "icons": {
      "128": "images/icon_128.png",
      "16": "images/icon_32.png",
      "48": "images/icon_48.png"
   },
  "permissions": [ 
    "http://*/*", 
    "https://*/*", 
    "contextMenus", 
    "tabs", 
    "notifications", 
    "management", 
    "webRequest" 
    ],
  "content_scripts": [
      {
        "matches": ["<all_urls>"],
        "js": ["webtoolkit-sha1.js","content.js"],
        "run_at": "document_end",
        "css" : ["css/style.css"]
      }
  ],
  "web_accessible_resources": ["webtoolkit-sha1.js","inject.js","icon_48.png"]
}

私は何を間違っていますか?

みんなありがとう!

情報の更新:

manifest.json には権限セクションに属性notificationsありますが、webkitNotifications.checkPermission() を出力すると、結果は 1 (PERMISSION_NOT_ALLOWED) でした。

4

1 に答える 1

1

notificationsアクセス許可は、拡張機能のプロセスにのみ適用されます。コードを機能させるには、通知を作成するバックグラウンド(またはイベント) ページを追加する必要があります。コンテンツ スクリプトは、メッセージングAPI を使用して通知を要求できます。

于 2013-03-22T15:21:46.870 に答える