2017-08-16 121 views
0

Vaadin有没有支持html5浏览器的桌面通知?我一直在寻找这个,并找不到任何具体的东西。Vaadin桌面通知

我试过这样没有运气的东西。

 JavaScript.getCurrent().execute(
      "if (window.webkitNotifications) {" + 
        "if (window.webkitNotifications.checkPermission() == 0) { // 0 is PERMISSION_ALLOWED" + 
      " window.webkitNotifications.createNotification(" + 
      "  'icon.png', 'Notification Title', 'Notification content...');" + 
      " } else {\n" + 
      " window.webkitNotifications.requestPermission();" + 
      " } " + 
      "} else { " + 
      " console.log('no notifications')" + 
      "}"); 

使用vaadin 8

回答

1

你试图用旧的API,它并没有被支持多个版本。该new api应该工作:

JavaScript.getCurrent().execute(
     " if (!(\"Notification\" in window)) { " + 
     " alert(\"This browser does not support system notifications\"); " + 
     " } else if (Notification.permission === \"granted\") { " + 
     " new Notification(\"Hi there!\"); " + 
     " } else if (Notification.permission !== 'denied') { " + 
     " Notification.requestPermission(function (permission) { " + 
     "  if (permission === \"granted\") { " + 
     "  Notification(\"Hi there!\"); " + 
     "  } " + 
     " }); " + 
     " } " 
); 

不能说这是做虽然一个很好的方式。

有一个插件vaadin 7 https://vaadin.com/directory#!addon/webnotifications你可以采用它8.或创建一个JavaScript component或至少一个JavaScript function,这将使使用它更容易。