2

我正在尝试使用新的 chrome 通知,只是尝试一个基本的通知来工作,但我不断得到

未捕获的类型错误:无法调用未定义的方法“创建”

我认为这是清单,但我不确定我做错了什么,有人有什么想法吗?

提前致谢

Javascript

var id= 0;

var opt={
type:"basic",
title:"Hello",
message:"world",
iconUrl:"Google.png"
}


function creationCallback(id) {
console.log("Succesfully created " + id + " notification");
}


function createnot()
{

chrome.notifications.create(id, opt, creationCallback);
id++;
}

显现

{
    "name": "Notification API Sample",
    "description": "Tests the notification API",
    "manifest_version" : 2,
    "version" : "0.1",

    "permissions" : [
    "notifications"
    ]
}

HTML

<html>
<head>
 <script type="text/javascript" src="note.js"></script>
 <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
 <input type="button" value="meh" onclick="createnot()"/>
 <footer>
 </footer>
</body>
</html>
4

1 回答 1

2
{
    "name": "Notification API Sample",
    "description": "Tests the notification API",
    "manifest_version" : 2,
    "version" : "0.1",

    "permissions" : [
    "notifications",
    "http://*/*" // add this if your html file is a webpage not a page in extension.

    ],

    "background": {
        "scripts": ["background.js"],
        "persistent": false // add this line if you use event page.
    }

}

您的 manifest.json 需要像这样的“背景”信息。

此外,如果您的 html 页面是网页而不是扩展程序本身的页面,您需要为其授予权限。

var id = "0";

它可能没有太大区别,但我认为通知 id 需要是一个字符串。

chrome.notifications.create(string notificationId, NotificationOptions options, function callback)

+++编辑+++

foo.js

$(function(){

var test = $("#test");

test.click(function () {


    chrome.notifications.create(
        'id1',{   
            type:"basic",
            title:"Hello",
            message:"world",
            iconUrl:"Google.png"
        },

        function() { 

        } 

    );


});

});

foo.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="jquery.js"></script>
    <script src="options.js"></script>
</head>
<body>

    <h1 id="test">This is a test.</h1>

</body>
</html>

清单.json

{
    "name": "Notification API Sample",
    "description": "Tests the notification API",
    "manifest_version" : 2,
    "version" : "0.1",

    "permissions" : [
    "notifications"
    ]

}

如果html页面在扩展中,我认为这是最简单的方法。

你需要这些文件。你甚至不需要 background.js。

1.manifest.json

2.foo.html

3.foo.js

于 2013-09-10T10:49:00.153 回答