osc_tweets_never_miss

osc首页动弹提醒

// ==UserScript==
// @name        osc_tweets_never_miss
// @namespace   http://www.oschina.net/
// @description osc首页动弹提醒
// @include     http://www.oschina.net/
// @version     1.3
// @grant       none
// ==/UserScript==
function notifyTweets(title, body, icon)
{
  // Let's check if the browser supports notifications
  var options =
  {
    body: body,
    icon: icon
  };
  if (!('Notification' in window))
  {
    alert('当前浏览器不支持桌面通知!!');
  } 
  else if (Notification.permission === 'granted')
  {
    // If it's okay let's create a notification
    createNotify(title, options);
  } 
  else if (Notification.permission !== 'denied')
  {
    Notification.requestPermission(function (permission)
    {
      // If the user is okay, let's create a notification
      if (permission === 'granted')
      {
        createNotify(title, options);
      }
    });
  }
}
function createNotify(title, options)
{
  var notification = new Notification(title, options);
  notification.onclick = function (event)
  {
    event.preventDefault();
    notification.close();
  };
}
$(document).on('DOMNodeInserted', '.TopTweets li', function (e)
{
  var user = $(e.target).find('.user a').text();
  var body = $(e.target).find('.log').text();
  var icon = $(e.target).find('.SmallPortrait').attr('src');
  notifyTweets(user, body, icon);
});