Notification.Icon加载.png和url很好,但不是本地文件

时间:2016-02-25 02:44:59

标签: notifications icons desktop-application electron

我更倾向于理解这一点,我不确定是否有实际的解决方案。

我正在使用通知API(https://developer.mozilla.org/en-US/docs/Web/API/notification),更具体地说,这是关于与Electron一起使用的icon属性。

我正在尝试在Mac和Windows上构建自定义通知气球。除了图标部分之外,一切似乎都非常直接和有效。

这是我面临的问题(我已验证文件路径存在):

选项1,icon.png(工作):

var myNotificiation = new Notification(
            title, {
                body: message,
                icon: jetpack.path(__dirname, 'assets', 'icon.png')
            });

选项2,URL(有效):

 var myNotificiation = new Notification(
            title, {
                body: message,
                icon: "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcR1zOS6CtRHjyHhgclhEKRZ_ipCGU2VCthotUjPp7ErPvSnWb6zZ9fNlA"
            });

选项3,本地html文件(不起作用):

var myNotificiation = new Notification(
            title, {
                body: message,
                icon: jetpack.path(__dirname, 'services', 'icon.html')
            });

为保持一致性,这是icon.html页面的内容:http://imgur.com/9qkAHky

问题:

为什么本地文件jetpack.path(__ dirname,'services','icon.html')的图像没有填充通知的图标部分,但URL图像确实显示在同一位置?

任何帮助将不胜感激。我希望在我的HTML页面中它只是一些错误,但我找不到任何错误。

2 个答案:

答案 0 :(得分:0)

感谢Vadim Macagon:

URL直接链接到图像,而不是html文档,这与icon参数的描述一致:Notification接口的图标只读属性包含图标的URL。

答案 1 :(得分:0)

这对我有用(来源: https://github.com/electron/electron/issues/1025#issue-54722118)

new Notification({ 
  title: "Message", 
  body: msg,
  icon:'electronImages/hi.png'
}).show()

check example here