11
votes

Changer le titre de la fenêtre lors de la focalisation de la fenêtre ne fonctionne pas en chrome

Je suis (AB) en utilisant le titre du document comme une sorte de zone de notification. Si l'onglet / la fenêtre en question ne se concentre pas au moment où je souhaite informer l'utilisateur de quelque chose, je modifie le titre de la fenêtre pour inclure une notification.

Lorsque la fenêtre / l'onglet revient dans la mise au point, je souhaite supprimer la notification, c'est-à-dire réinitialiser le titre à la norme. Cette réinitialisation ne fonctionne pas parfois dans le chrome.

Quand je viens d'une fenêtre différente , le titre est mis à jour correctement, mais lorsque je viens d'un onglet différent dans la même fenêtre , ce n'est pas. < / p>

J'ai trouvé une solution de contournement pour cela (je le posterai comme une réponse), mais s'il vous plaît partager des idées autres que vous pourriez avoir à résoudre ce problème.


0 commentaires

3 Réponses :


14
votes

Ceci semble être un bogue en chrome concernant le redessinement réel du titre de l'onglet, car le titre du document lui-même (c'est-à-dire dans la DOM) est en fait mis à jour correctement.

Je suppose que changer l'onglet (qui provoque la onglet pour passer au premier plan, donc être redessiné) et changer le titre dans l'événement de mise au point résultant (qui nécessite également un redessinement) causer une sorte de condition de race. p>

C'est pourquoi j'ai essayé cette solution de contournement, qui Effectue en fait: P>

window.setTimeout(function () { $(document).attr("title", newtitle); }, 200);


3 commentaires

auto-acceptant cette réponse; mais n'hésitez pas à poster de meilleurs corrections / de contournement; Je peux toujours changer la réponse acceptée


$ (document) .ATTR ('Titre', Newtitle) ? document.title = newtitle est plus simple.


@ NYUSZIKA7H: Je pense que j'utilise réellement document.title = newtitle (je pense vraiment que j'ai essayé les deux, d'exclure la possibilité d'un problème de jQuery). De toute façon, qui se soucie? Les deux travaillent, les deux sont clairs, les deux font la même chose.



0
votes

Pour une référence future: ce bogue est actuellement corrigé.


4 commentaires

Intéressant; Avez-vous une référence?


Chrome 28: Ce n'est pas le cas.


Chrome 29.0.1547.57 m - non corrigé


Nous pense Ce bogue est réparé car nous avions une solution de contournement en place que nous n'avions plus besoin @balpha



1
votes

Bien que Tifik ait dit que ce bogue est corrigé, il se passe toujours à mon chrome (version 21).

La solution balpha offert des œuvres pour moi aussi - mais soyez conscient de ne pas définir le titre du document sur le nouveau titre à la mise au point et d'attendre 200ms pour la définir à nouveau - cela ne fonctionnera pas! (Probablement parce que Chrome pense que c'est le même titre, il ne sera donc pas à jour)

Attendez juste 200ms et définissez-le - fonctionne bien!


0 commentaires