4
function icPageInit() 
{ 
    $("icImgDiv" + icAlternate()).setOpacity(0); 
    return true; 
} 
window.onload = icPageInit; 

Ce morceau de code Javascript fonctionne très bien dans Firefox et Chrome, mais échoue avec l'erreur « Objet attendu » dans Internet Explorer 8. IE8 dit l'erreur se produit sur la ligne 3 du code ci-dessus.« objet attendu » erreur Javascript dans IE8 lors de l'utilisation prototype.js

Est-ce que quelqu'un sait pourquoi cela se produit, et/ou comment le faire fonctionner?

+0

Quelle version de Prototype? Je crois que la dernière version a des correctifs de compatibilité IE8. – karim79

+0

La dernière version, 1.6.0.3 –

+0

Vous avez besoin de la version 1.6.1 pour la prise en charge d'IE8 - elle a été ajoutée dans RC2, l'actuelle est RC3. – robertc

Répondre

13

Compris.

Détermine les chokes Internet Explorer si vous utilisez autre chose que "javascript" dans l'attribut language de la balise script.

J'utilisais les numéros de version ajoutés sur javascript dans l'attribut language, ce qui provoquait IE ne pas charger prototype.js.

2

Etes-vous sûr que: $ ("icImgDiv" + icAlternate()) renvoie une référence à un élément? Si oui, avez-vous essayé d'utiliser Microsoft Script Debugger/Visual Studio pour déboguer quand et où l'exception est levée?

-1

Ce n'est pas le problème. IE8 a ce bug je suppose ... Parce que son fonctionnement bien avec IE7 et autre navigateur.

Désactive les chokes Internet Explorer si vous utilisez autre chose que "javascript" dans l'attribut de langue de la balise de script. J'utilisais les numéros de version ajoutés sur javascript dans l'attribut de langue, ce qui faisait que IE ne chargeait pas prototype.js.

2

Vérifiez également que le type de balise de script est "text/javascript". J'ai eu cette erreur dans IE8, et l'ai corrigé en changeant le type = partie de la balise de script de "application/javascript" en "texte/javascript".

+0

Merci Cela fonctionne pour moi :) – KiranSolkar

Questions connexes