J'ai beaucoup de JavaScript sur ma page et j'utilise typekit. Pour que ma page fonctionne correctement (grille et autres), j'utilise les nouveaux événements de polices typkit.jQuery: try catch {call function} ne fonctionne pas?
C'est simplement une instruction try et catch qui vérifie si les polices sont chargées ou non. Cependant, je ne comprends pas. J'appelle la fonction setGrid()
si les polices de kit de type sont chargées, mais par exemple. iPad ou iPhone ne le supporte pas encore et donc ma page ne s'affiche pas correctement lorsque je n'appelle pas la fonction setGrid()
.
Quoi qu'il en soit, je veux également appeler la fonction dans l'instruction d'erreur, donc si la page est appelée sur l'iPhone, la page fonctionne sans les polices Web.
try {
Typekit.load({
loading: function() { },
active: function() { setGrid(); },
inactive: function() { }
})
} catch(e) {
alert('error'); //works
setGrid(); //doesn't get called
}
Cependant, les travaux alert
, la fonction ne setGrid()
pas appelée. Des idées?
modifier: la fonction ressemble que:
var setGrid = function() {
$('#header, #footer').fadeIn(500);
return $("#grid").vgrid({
easeing: "easeOutQuint",
time: 800,
delay: 60
});
};
Quelle preuve avez-vous que 'setGrid()' n'est pas appelé? Peut-être que cette fonction est trop jeter une exception? (De plus, vous avez oublié un point-virgule après 'alert()', ce qui n'affectera pas l'exécution, mais c'est de mauvais style.) – cdhowie
Cela ne résoudra pas votre problème, mais: omettre les points-virgules est considéré comme une mauvaise pratique. casser beaucoup de choses. Vous devriez toujours les mettre. – jwueller
Essayez d'avoir une alerte (setGrid); au lieu d'alerte ('erreur') - que voyez-vous maintenant? –