Добавьте переменную, которая отслеживает, сколько сообщений было последним предупреждением, и не показывает, не изменилась ли эта переменная.
Что-то вроде:
document.addEventListener(
"DOMNodeInserted",
function() {
var count = parseInt(document.getElementById("fb_menu_inbox_unread_count").textContent);
if (count > 0 && count != lastCount) {
alert("You have "+count+" new message"+(count==1 ? "" : "s")+"."); }, true);
}
lastCount = count; // Remember count to avoid continuous alerts.
Кроме того, я бы не стал писать код целиком, как вы делали в своем первоначальном посте. Это затрудняет чтение и изменение в случае необходимости.