Bonjour à tous,
Aujourd'hui je vais aborder un sujet qui nous fache tous, nous développeurs :
- Tester le rendu d'un site sur toutes les versions d'IE, car parfois, et trop souvent, les installations d'IE sur des postes ne sont jamais mises à jour ..
Fatalement tu y passes plus de 90% de ton temps sur les sites que tu concois en HTML5, CSS3, Responsive
Personnellement je suis sur le 11 mais les outils de développements .. sont à mon goût pires qu'en version 8 .. et l'émulation, très "imprévisible".
J'ai du coup essayé avec IE tester, par certain que l'émulation, non plus, fonctionne à merveille ...
Sous IE11 en mode émulation, aucun soucis particulier de javascript n'est retracé
Via IeTester je récolte des tas d'erreurs, parfois dans la superbe popup d'IE, qui je pense n'est pas désactivable par le javascript, je ne sais pas non plus si il s'agit du bon outil pour tester le rendu ..
Ces dernières sont loggées, parfois je n'ai pas la description, mais au moins la page et la ligne ( au minimum )
Du genre ie<9 line 1 : expected ),;
ou en popup line 1 char 24 expected ),;
qui se répète tant que l'execution des scripts sur la page, non ne sera pas cliqué
L'idée primaire que j'ai eue fut d'avorter le javascript sur certaines erreurs propres à IE<7 et d'afficher une image invitant la personne à consulter avec un autre navigateur ou mettre à jour ce dernier. Cette méthode fonctionne ( à condition d'avoir cliqué non, tous les js deviennent "offline" en somme )
De plus, est-il possible d'opérer la même fonction si jamais javascript serait pris dans une sorte de loop ? ( en me loggant bien évidemment l'erreur ). Je n'ai pas encore trouvé de solution "backtrace" à effectuer dans mon reporting d'erreurs à ce jour ( bien qu'ayant tenté de multiples approches .. )
Mon code sommaire pour pratiquer l'abort est :
Code :
- var aborted;
- function abortjs(){aborted=1;throw{name:'FatalError',message:'js stopped'};}
- window.onerror=errorhandler(e);
- function errorhandler(desc,page,line,chr){
- var r3,r2=/expected|unspecifi|spécifiée/i,REG;if(aborted)return true;
- r3=r2.exec(desc);if(nav=='ie' && r3!==null){aborted=1;abortjs();}
- if(aborted)return true;
- else{logerror();}
- }
|
Je me demande du coup si cette méthode est viable, si IE tester est un bon logiciel, s'il existe des versions portables pour chaque version d'IE ou un service permettant de tester dynamiquement les rendus & interactions
Merci pour vos conseils, lumières
Message édité par grosbin le 14-03-2014 à 10:18:04
---------------
Photos Panoramiques Montagnes Haute Savoie