2016-03-23 16 views
2

Chrome uzantısı iyi çalışıyor. Benim sorunum, bildirimin 7 saniyede kapanmasıdır. Kullanıcının bildirimi kapatmak için tıklamasını istiyorum.Google Chrome uzantısı, kullanıcı tıklandıktan sonra bildirimi kapatmak için tıklayın

function engine(){ 
    var latestId; 
    var ids; 
    var messages = []; 
    var newmessage = []; 

    $.get('http://localhost/site/json.php',function (data){ 
     var json = $.parseJSON(data); 
     messages = json; 
     ids = json[0].id; 
     if(latestId == ids){ 
      //no update 
     }else if(latestId === undefined){ 
      var run = { 
       type: "basic", 
       title: "Title", 
       message: "Some message", 
       iconUrl : "icon.png", 
      }; 

      chrome.notifications.create(run); 
     }  
    }); 
} 
+0

Ne istediğini bilmiyorum. Bildirimin üzerine tıkladığınızda kapatılmasını ister misiniz, yoksa 7 saniye sonra saklanmasını ve SADECE kullanıcı etkileşimini kapatmasını ister misiniz? – Xan

cevap

1

Sen notification.close(); kullanabilirsiniz:

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

Demo:

// request permission on page load 
 
document.addEventListener('DOMContentLoaded', function() { 
 
    if (Notification.permission !== "granted") 
 
    Notification.requestPermission(); 
 
}); 
 

 
function notifyMe() { 
 
    if (!Notification) { 
 
    alert('Desktop notifications not available in your browser. Try Chromium.'); 
 
    return; 
 
    } 
 

 
    if (Notification.permission !== "granted") 
 
    Notification.requestPermission(); 
 
    else { 
 
    var notification = new Notification('Notification title', { 
 
     icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png', 
 
     body: "Hey there! You've been notified!x", 
 
    }); 
 

 
    notification.onclick = function() { 
 
     window.open("http://stackoverflow.com/a/13328397/1269037");  
 
    }; 
 
    
 
    setTimeout(function() { 
 
    notification.close(); 
 
}, 2000); 
 
    } 
 

 
}
<button onclick="notifyMe()"> 
 
    Notify me! 
 
</button>

JSBin Demo

+1

notification.cancel bir işlev değil konsolda yazma? Örnek kod yazabilir misiniz lütfen? – user3811744

+0

Canlı örnek https://jsbin.com/juteqamayo/edit?html ,jsoutout – Arokiyanathan

+0

@Arokiyanathan: Lütfen cevabınızı [düzenle] ve bağlantıyı kursun bunun içine. Ayrıca lütfen cevabınızı ayrıntılı ve açık bir şekilde yapmaya çalışın. Bak: [answer] –

1

Bu özellik şu anda yalnızca beta kanalında ve kromun en son sürümünde uygulanmamaktadır. Detaylar için bkz. here.

var run = { 
    type: "basic", 
    title: "Title", 
    message: "Some message", 
    iconUrl : "icon.png", 
    requireInteraction : True, 
} 

bu uygulamaya: o uygulandığında

, şöyle requireInteraction : True kullanmak mümkün olacak.

2

İlk önce bildiriminizi oluşturun ve daha sonra kapatmak için bir bildirim kimliği parametresi verin. Bildirim tıklandığında

var notification = { 
    type:"basic", 
    title:"News From Us!", 
    message:"Google Chrome Updated to v50!", 
    iconUrl:"assets/images/icon.png" 
}; 
chrome.notifications.create("notfyId",notification); 

onun kimliği kullanarak bildirim kapatabilirsiniz ("notfyId" dır) Şimdi

function forwardNotfy(){ 
    chrome.notifications.clear("notfyId"); 
    window.open(url); //optional 
} 

chrome.notifications.onClicked.addListener(forwardNotfy); 

, kendi bildirimi tıkladığınızda yakın olacağım.

+0

window.location çalışmıyor, ancak window.open yapar –

+0

Bahşiş için teşekkürler! – Nezih

İlgili konular