Chrome扩展程序通知未显示contextMessage?

时间:2015-02-22 03:53:59

标签: javascript google-chrome-extension

在我的代码中,contextMessage没有显示出来 我知道它适用于chrome.notifications.create,但是如果我使用它,那么我无法做到这一点,所以通知永远不会消失而不会被关闭或点击

function Notify(Title, Body, miniMsg, Url, Icon) {
    var notification = new Notification(Title, {
        icon: Icon||"Logo.png",
        body: Body,
        contextMessage:miniMsg
    });
    notification.onclick = function () {
        window.open(Url);
    }
}

谢谢!

1 个答案:

答案 0 :(得分:2)

答案很简单:兼容性。

根据MDN,您尝试使用Chrome中不支持webkit前缀的功能。对于Google Chrome扩展程序,建议使用chrome.notifications API

使用chrome.notifications API,您无法指定通知保持打开的时间。但是,另一种选择是使用chrome.experimental.notifications API,这会阻止您将扩展程序发布到网上商店,并且文档很少。

您还可以将priority中的chrome.notifications.create选项更改为介于-2到2之间的任意整数,其中2是最高的,并且会将您的通知授予最多显示时间。

由于您似乎正在使用Notifications对象,您可能会注意到您的语法与MDN文档中显示的语法不匹配。主要是,通知似乎没有任何contextMessage参数。作为旁注,onclick回调将不起作用,因为Url参数不再在当前范围内执行。匿名函数将无法看到传递到Url的{​​{1}}参数。您也可以查看compatibility and notes for Notifications