2009-11-16 5 views
1

Je rencontre un problème avec sIFR 3, jQuery BlockUI et un UpdatePanel où la page se rafraîchit et la police SIFR disparaît.Problème sIFR 3 (IE) avec BlockUI et UpdatePanel

Dans le fichier Javascript que j'utilise pour gérer le blocage et le déblocage de l'interface utilisateur, je perçois le postback partiel et débloque l'interface utilisateur:

prm.add_endRequest (function() {$ .unblockUI();}) Si je réexécute sIFR.replace() dans ce bloc de code, la police sIFR de la police est affichée, mais # caractères remplacent le titre de la page (en haut de la fenêtre/de l'onglet du navigateur). Cela semble se produire uniquement dans IE (aller figure.) Chaque fois que je rafraîchis la page en utilisant le LinkButton un caractère supplémentaire # est ajouté, de sorte que mon titre de page finit par ressembler à "#########". Une idée de pourquoi cela se passe?

Existe-t-il une fonction sIFR.update() spécifique que je devrais utiliser à la place? Si j'exécute sIFR.redraw() ou sIFR(), j'obtiens des erreurs d'exécution javascript.

Répondre

1

Ceci est causé par un bug dans IE:

Ceci est un bug très particulier dans IE où pour chaque film Flash dans la page la partie d'identifiant de fragment de l'URI (#foo) est répété dans le titre du document. Il a été rapporté par Macromedia que ce bug peut être corrigé en mettant à jour le moteur VBScript utilisé par le navigateur. Toutefois, pour les utilisateurs qui ont toujours le mauvais moteur, sIFR contient une solution de contournement. http://wiki.novemberborn.net/sifr/Fragment+Identifier+Bug

sIFR 3 a une solution de contournement, mais il ne se déclenche pas à moins que la page est chargée avec un identifiant de fragment (window.location.hash != ""). Dans votre cas, je suppose que la page est chargée sans l'identificateur, puis vous en ajoutez un, puis vous exécutez de nouveau les remplacements, ce qui réapparaît le bogue.

Vous pouvez patcher r436 en ouvrant (la version compressée de) sifr.js et en remplaçant this.fix=c.ua.ieWin&&window.location.hash!="" par this.fix=c.ua.ieWin.

+0

Merci Mark. A travaillé un charme! – Markis