2009-04-29 5 views
3

Я хочу показать предупреждение, если у меня есть что-то в папке «Входящие» в Facebook. Я думаю, что это можно легко сделать с помощью userscripts ... это то, что я до сих пор (спасибо ребятам на самых userscripts форумах):Как остановить предупреждение javascript от показа после нажатия ok

document.addEventListener("DOMNodeInserted", function() { 
    var count; 
    if ((count=parseInt(document.getElementById("fb_menu_inbox_unread_count").textContent)) > 0) 
    alert("You have "+count+" new message"+(count==1 ? "" : "s")+"."); 
}, true); 

Это прекрасно работает, за исключением сообщения застревает в цикле после того, как нажав «ОК» и продолжая появляться. Есть ли способ остановить сообщение после нажатия кнопки предупреждения?

+0

извините, но я ем compleet нуб, когда речь идет о JavaScript ... так пожалуйста, напишите пример кода ... п.с. : «Допуск клиента« Ben S », похоже, работает ... но thx, так или иначе, потому что это так, как я могу это сделать ... – 2009-04-29 22:25:20

+0

Я обновил его с помощью исправленного однокорпуса. Дайте мне знать, если это работает сейчас. –

ответ

3

Добавить переменную, которая отслеживает, сколько сообщений было последним, и не показывать, не изменилась ли эта переменная.

Что-то вроде:

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. 

Кроме того, я хотел бы избежать написания кода, все в одном, как, как вы это делали в исходном посте. Это затрудняет чтение и изменение в случае необходимости.

+0

Не должен lastCount = count; быть вне выражения if? после 1 сообщения, предупреждение не произойдет до 2-го сообщения, если он прочитает сообщение. – oneporter

+0

нет, он отправил работу, и я не понимаю, почему .... потому что это должно работать ... – 2009-05-03 00:06:05

0

Набор пользовательских куки с помощью document.cookie, чтобы сохранить счет, а затем сделать ваши регулярные проверки

Смежные вопросы