Chrome通知操作不起作用

时间:2018-08-31 03:09:46

标签: javascript jquery google-chrome google-chrome-extension push-notification

您好,我正在尝试创建Chrome通知,并且希望将操作添加到通知中,以便用户可以选择选项。我已经尝试运行此代码,但是由于某些原因它不起作用:

var options = {
    type: "basic",
    title: "Restock",
    message: "Tee Black",
    iconUrl: '/images/Hp_Beta7.png',
    actions: [
        {title: "small", action: "action1"},
        {title: "medium", action: "action2"}
        ]
};

chrome.notifications.create(options, callback);

function callback() {
    console.log("popup done");
}

该通知在没有操作部分的情况下工作正常,但是我希望能够在通知中进行选择,并且每次尝试运行此脚本时,都会出现此错误:

Uncaught SyntaxError: Unexpected identifier

指向“操作:[”行

有什么我想念的吗?

任何帮助都非常重要。谢谢<3!

1 个答案:

答案 0 :(得分:1)

通知的属性“ actions”不存在。 “ buttons”用于在通知中添加操作按钮。

此外,在“ chrome.notifications.create(options, callback);”中,参数列表不正确,因为第一个参数是“ notificationId”,如果不使用,则将其设置为""

这里是一个答案,很好地说明了如何使用Chrome通知中的按钮-Is there any way to insert action buttons in notification in Google Chrome

background.js

    var myNotificationID = null;
    var options = {
        type: "basic",
        title: "Restock",
        message: "Tee Black",
        iconUrl: "/images/Hp_Beta7.png",
        buttons: [
            {title: "small", iconUrl: "/images/..."},
            {title: "medium", iconUrl: "/images/..."}
        ]
    }
    chrome.notifications.create("", options, function(notificationId){
        myNotificationID = notificationId;
    });

    chrome.notifications.onButtonClicked.addListener(function(notifId, btnIdx) {
        if (notifId === myNotificationID) {
            if (btnIdx === 0) {
                action1();
            } else if (btnIdx === 1) {
                action2();
            }
        }
    });