Show facebook message count on https://www.facebook.com/messages
目前為
// ==UserScript==
// @name Facebook message count
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Show facebook message count on https://www.facebook.com/messages
// @author Tomáš Falešník
// @match https://www.facebook.com/messages/*
// @grant none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
(function() {
'use strict';
function $x(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
var observeDOM = (function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
eventListenerSupported = window.addEventListener;
return function(obj, callback){
if( MutationObserver ){
// define a new observer
var obs = new MutationObserver(function(mutations, observer){
if( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
callback();
});
// have the observer observe foo for changes in children
obs.observe( obj, { childList:true, subtree:true });
}
else if( eventListenerSupported ){
obj.addEventListener('DOMNodeInserted', callback, false);
obj.addEventListener('DOMNodeRemoved', callback, false);
}
}
})();
observeDOM($("body")[0], function() {
var messageCount = $x('//*[@id="u_0_t"]/div/div[3]/div/div[4]/div[2]/div[1]/div[2]/div/div/div[5]/div/div[1]/div/a/span[3]/span').innerHTML;
console.log(messageCount);
var messageHeader = $("#webMessengerHeaderName");
if (!$("#messageCount").length) {
$('<h2 class="_r7" style="max-width: 286px; font-size: 13px;"> (<span id="messageCount"></span> +- messages)</h2>').insertAfter(messageHeader);
}
$("#messageCount").html(messageCount);
});
})();