2017-08-16 116 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,這將使使用它更容易。