Je développe un site Web et je dois laisser le titre du document clignoter lorsque le navigateur a perdu le focus pour attirer l'attention de l'utilisateur.Clignotant document.title et IE7 (pas moyen?)
Ceci est une tâche courante par exemple dans un réseau social. Btw mon code javascript fonctionne très bien dans Chrome, Firefox, Opera, mais pas dans IE7 (que je teste avant de libérer le site)
IE7 ont un comportement étrange, car si j'imprime le document.title dans un texte de débogage (vous peut voir dans le code), il est changé mais le navigateur affiche toujours le titre du document précédent
J'essaie de chercher beaucoup sur internet pour essayer de résoudre ce problème mais sans succès donc j'ai décidé de poster la question dans ce site . Voici mon code javascript ci-dessous et merci d'avance pour les suggestions.
la méthode JS est appelée par this.blink (true)
// other methods above and below ....
this.blink = function(Action)
{
if (Action)
{
if (!this.blinking)
this.oldTitle=top.document.title;
else
clearInterval(this.blinkTimer);
// debug current title
$('debugText').value = 'ORIGINAL ' + top.document.title + '\n' + $('debugHistory').value;
this.blinkTimer = setInterval(function() {
var msg='MSG', newTitle
if (top.document.title == msg)
newTitle = '----';
else
newTitle = msg;
// assign title
top.document.title = newTitle;
// debug blinking, is really changed but not shown <---
$('debugText').value = 'BLINK ' + top.document.title + '\n' + $('debugHistory').value;
}, 1000);
}
else
{
clearInterval(this.blinkTimer);
if (this.blinking)
top.document.title = this.oldTitle;
}
this.blinking = Action;
}
Aargh, des choses qui clignotent! Êtes-vous * sûr * que vous voulez ennuyer vos utilisateurs? – Piskvor
Très probablement, la fonction ne sera pas du tout déclenchée par votre window.blur ou équivalent, c'est pourquoi cela arrive. Essayez d'exécuter le code ci-dessus sans les critères de flou, c'est-à-dire de l'exécuter de force et de voir si la barre de titre de la fenêtre change? –
@Piskvor: Je serais d'accord avec vous si nous savions que ce clignotement était inutile, mais il y a une quantité * limitée * d'applications valides pour le clignotement, comme un message instantané entrant. – MvanGeest