Πώς να σταματήσει ειδοποίηση javascript εμφάνιση μετά το πάτημα ok

ψήφοι
3

Θέλω να δείξω μια ειδοποίηση αν έχω κάτι στο Facebook inbox μου. Νομίζω ότι μπορεί εύκολα να επιτευχθεί με τη χρήση userscripts ... αυτό είναι αυτό που έχω μέχρι τώρα (χάρη στα παιδιά στα userscripts forums):

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);

Αυτό λειτουργεί μεγάλο, εκτός από το μήνυμα που έχει κολλήσει σε ένα βρόχο μετά κάνετε κλικ στο «OK», και κρατά μέχρι βρεθώ. Είναι ένας τρόπος για να σταματήσει το μήνυμα μετά κάνω κλικ απορρίψει την ειδοποίηση εκεί;

Δημοσιεύθηκε 29/04/2009 στις 22:55
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
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.

Επίσης, θα ήθελα να αποφευχθεί η συγγραφή κώδικα, όλα σε ένα, όπως, όπως κάνατε στην αρχική σας θέση. Αυτό καθιστά πιο δύσκολο να διαβάσει και να αλλάξετε αν χρειαστεί.

Απαντήθηκε 29/04/2009 στις 22:59
πηγή χρήστη

ψήφοι
0

Ορίστε μια προσαρμοσμένη μπισκότο χρησιμοποιώντας document.cookie για να σώσει την καταμέτρηση, στη συνέχεια, κάντε τακτικούς ελέγχους σας

Απαντήθηκε 29/04/2009 στις 23:18
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more