Cufon.Refresh () não trabalha no ie8
-
21-09-2019 - |
Pergunta
Preciso atualizar as fontes CUFON depois de obter dados do AJAX. Infelizmente, simples cufon.Refresh () não trabalha no IE8. Debugger diz: Tah a linha 1191
sStyle.width = roundedShapeWidth;
tem argumento inválido.
Como corrigi-lo?
Solução
Eu tive o mesmo problema. Não apenas em cufon.refresh, mas também quando o cufon.now ocorreu. E não apenas no IE8, mas no IE7, IE6 e até no IE9pp. Percebi que uso este código para replecamento:
Cufon.replace('h1',{hover: true})('h2',{hover: true})('h3',{hover: true})('cite',{hover: true})('.cufon',{hover: true});
O ('.cufon', {hover: true}); a parte foi a que gerou o erro. Passei dois dias para descobrir, como isso poderia levantar um erro ...
Abri o CSS, procurei por .Cufon Sytling. Não havia .Cufon no CSS. E Cufon não herdou estilos na série IE, ocorreu um erro.
Então eu adicionei isso ao meu CSS:
.cufon { }
E o erro foi embora.
(Usando Cufon 1.09)
Outras dicas
Eu tive o mesmo problema e acabei de reutilizar Cufon.Replace:
Cufon.replace('h1',{fontFamily: 'StackOverflow'});
Somente inconveniente que vejo é que, se você deseja atualizar todos os conteúdos, precisará recostar todos eles:
Cufon.replace('h1, h2',{fontFamily: 'StackOverflow'});
Cufon.replace('h3', { fontFamily: 'StackOverflow Light'});