2014-05-20 1 views
3

을 닫지 않습니다
https://developer.mozilla.org/en-US/docs/Web/API/Notification크롬 나는 현재 브라우저를 기반 알림을 사용하려면이 구현을 사용하고 알림

을이 마법처럼 작동합니다.

if ("Notification" in window) { 
     if(Notification.permission === "granted") { 
      if($('#notify-on-message').is(':checked')) { 
       var notification = new Notification(username + ' : ' + data, {'icon': "/custom/favicon.gif"}); 
      } 
      if ($('#notify-on-hl').is(':checked')) { 
       var patt = new RegExp("(^|\\W)"+selfusername+"(\\W|$)"); 
       if(patt.test(data)) { 
        var notification = new Notification(username + ' highlighted you.', {'icon': "/custom/favicon.gif"}); 
       } 
      } 
     } 
    } 

중요한 문제는 크롬 기반 브라우저에서 3 초가 지나면 알림이 닫히지 않는다는 것입니다.
그것은 그 한 가지를 변경하지 않습니다 비록 var notification = ...

setTimeout(function() { 
    notification.close(); 
}, 2000); 

후이를 추가했습니다. 알림이 유지됩니다.
알려진 문제입니까? 원하지 않는 문제를 해결할 수있는 쉬운 방법이 있습니까?
https://developer.mozilla.org/en-US/docs/WebAPI/Using_Web_Notifications
이것은 알려진 문제 :

참고 : 파이어 폭스와 사파리가 몇 분 후 자동으로 알림을 닫습니다, 예를 들어,이 페이지에 따르면 : EDIT 1

4 초.

은 또한 다음 코드로 예를 들어, Notification.close() 메소드를 사용하여 웹 응용 프로그램 수준에서 수행 할 수 있습니다 : 그 코드가 작동하지 않습니다

var n = new Notification("Hi!"); 
n.onshow = function() { 
    setTimeout(n.close, 5000); 
} 

있지만. 콘솔에 알림에 close 메소드 또는 이와 유사한 것이 없다는 오류가 있습니다.

답변

12

그럼 실제로 나는 코드 파이어 폭스와 크롬 모두

var message_notification = new Notification("Data"); 
setTimeout(function(){ 
    message_notification.close(); 
}, 3000); 

작품, 잘못이었다. (그리고 사파리도 그렇습니다)

+0

광고 된 방식 ('.onshow')이 작동하지 않는 이유가 궁금합니다. –

+0

설명서가 최신 버전이 아니거나 다른 버전을 사용 중이었을 수 있습니다. 실제로 기억할 수 없다 ^^ " – Depado

관련 문제