2010-02-17 6 views
3

J'ai besoin d'actualiser les polices Cufon après avoir obtenu des données AJAX. Malheureusement, Cufon.refresh() ne fonctionne pas dans IE8. Débogueur dit, tah la ligne 1191Cufon.refresh() ne fonctionne pas dans IE8

sStyle.width = roundedShapeWidth; 

a Invalid argument.

Comment le réparer?

+0

Trouvez une solution? –

Répondre

4

J'ai eu le même problème. Non seulement dans Cufon.Refresh mais aussi quand Cufon.Now s'est produit. Et pas seulement dans IE8, mais dans IE7, IE6 et même dans IE9PP. J'ai remarqué que j'utilise ce code pour replecament:

Cufon.replace('h1',{hover: true})('h2',{hover: true})('h3',{hover: true})('cite',{hover: true})('.cufon',{hover: true}); 

Le ('.cufon', {vol stationnaire: true}); la partie était celle qui a généré l'erreur. J'ai passé deux jours pour savoir, comment il pourrait soulever une erreur ...

J'ai ouvert CSS, cherché .cufon sytling. Il n'y avait pas de .cufon en CSS. Et cufon n'a pas hérité de styles dans la série IE, insted une erreur s'est produite.

Alors j'ai ajouté à mon CSS:

.cufon { } 

et l'erreur a disparu.

(à l'aide Cufon 1,09)

+1

Umut, quand Cufon s'exécute, il ajoute des éléments avec la classe 'cufon'. Il est préférable d'éviter complètement cette classe car cela causera probablement d'autres problèmes que celui que vous avez eu. Jetez un oeil dans un inspecteur DOM - c'est assez intéressant de voir ce qui se passe. –

1

J'ai eu le même problème et je viens de réutiliser Cufon.replace à la place:

Cufon.replace('h1',{fontFamily: 'StackOverflow'}); 

seul inconvénient que je vois est que si vous voulez rafraîchir tout le contenu, vous avez besoin pour les lister tous:

Cufon.replace('h1, h2',{fontFamily: 'StackOverflow'}); 
Cufon.replace('h3', { fontFamily: 'StackOverflow Light'}); 
+0

+1 J'ai eu un problème similaire; refresh() ne fonctionnait pas pour moi, je ne pouvais que remplacer() à nouveau. –

Questions connexes