2016-05-09 7 views
8

पर सूचनाएं मैं एक चैट webapp कि सूचनाएं एपीआई के माध्यम से डेस्कटॉप पुश नोटिफिकेशन को गति प्रदान करने में सक्षम होने की जरूरत है लिख रहा हूँ: https://developer.mozilla.org/en-US/docs/Web/API/Notifications_APIअसंगत/विलंबित एचटीएमएल 5 डेस्कटॉप पुश क्रोम

दुर्भाग्य से, ऐसा लगता है कि सूचनाएं नहीं दिखा जब तक मैं यह सब इस बेला के साथ एक और अधिसूचना बनाकर बाहर फ्लश:

function triggerDesktopNotification() { 
    function makeNotification() { 
    var notification = new Notification('AppName', { 
     body: 'You have a new message!', 
     icon: '/favicon.ico', 
    }); 
    notification.onclick =() => { 
     notification.close(); 
    }; 
    } 

    if (Notification.permission === 'granted') { 
    makeNotification(); 
    } 
    else if (Notification.permission !== 'denied') { 
    Notification.requestPermission(function (permission) { 
     if (permission === 'granted') { 
     makeNotification(); 
     } 
    }); 
    } 
} 

मैं पुष्टि कर सकता है कि कोड से उचित तरीके से निष्पादन किया जाता है: https://jsfiddle.net/yoshi6jp/Umc9A/

इस कोड है कि मैं का उपयोग कर रहा है new Notification कॉल के तुरंत बाद console.log() डालकर। दिलचस्प बात यह है कि अगर मैं alert() डालता हूं, तो अधिसूचना तब दिखाई देती है जब मुझे अलर्ट बॉक्स दिखाई देता है (मेरे टैब में वापस नेविगेट करने के बाद)।

उत्तर

0

यदि मैं आपको सही समझ गया;

अलर्ट प्रोग्राम स्टैक को बाधित करता है जहां मैंने यह सोचा था। आप इसे सेटटाइमआउट फ़ंक्शन के साथ एसिंक को आग लगाने की कोशिश क्यों नहीं करते?

setTimeout( function(){ 
     alert("asd"); 
    }) 

संपादित js बेला here

संबंधित मुद्दे