Javascript et IE7 : probleme de taille ! - HTML/CSS - Programmation
Marsh Posté le 23-11-2007 à 10:30:47
je sais pas si ca va t'aider, mais si tu penses que le soucis provient de la taille du code JS, essaye de le réduire avec ce genre d'outils : http://www.crockford.com/javascript/jsmin.html
Marsh Posté le 23-11-2007 à 10:53:03
Merci pour ton lien, ça peut être une solution, mais en cas de maintenance à faire sur le fichier JS, il ne pourra pas indiquer de ligne (puisque l'outil que t'as mis en lien vire les sauts de ligne pour économiser des quelques octets).
Bref, c'est pas l'idéal... Le truc c'est que je googlise mais je trouve rien...
D'autres idées ?
Marsh Posté le 23-11-2007 à 11:04:13
Et en "explosant" la source en plusieurs fichiers ?
Comme un système d'include ?
Marsh Posté le 23-11-2007 à 11:14:45
Je pourrais, mais le fichier js est en fait généré par une autre application (en asp) et ça me fait modifier le produit, et ça je peux pas le faire sans de longues procédures. Mon client est un grand constructeur d'avions (hum) qui redistribue ce produit à ses clients, des compagnies aériennes.
Si je veux modifier le produit lui même, il faut tout un process long et chiant, bref, à éviter.
J'ai appelé Microsoft, au cas ou, mais je me suis fait jeter en disant qu'il fallait que je paie pour ce genre d'aide... Donc non.
Bref, IE 7 bloque, et visiblement, certains clients de mon client commencent à l'utiliser...
Marsh Posté le 23-11-2007 à 11:26:29
arf
à tout les coups il s'agit d'un réglage de sécurité (méthode MS : si tu veux pas d'erreur avec le JS, il suffit d'empecher qu'il s'execute ...)
C'est koi en fait l'erreur en question ?
Marsh Posté le 23-11-2007 à 11:36:03
L'erreur c'est "Erreur de syntaxe" ligne 32852
Voici quelques lignes de code (je peux pas trop en donner, c'est légèrement confidentiel).
Code :
|
Voili...
Marsh Posté le 23-11-2007 à 11:51:53
tu peux y ajouter une gestion d'erreur à la try ... catch ou t'as pas trop la main sur le code généré ?
Marsh Posté le 23-11-2007 à 12:01:44
Ben oui, mais ça fait un gigantesque try catch....
Parce qu'en fait, l'extrait de code, c'est justement ça qui est répété plein plein plein de fois pour remplir ce gros tableau....
Mais mon code fonctionne sur les autres navigateurs, c'est ça que je capte pas.... FireFox le gère très bien, IE6 aussi, donc je pense pas que ça vienne du code
Marsh Posté le 23-11-2007 à 15:15:19
ptit up, si je pouvais donner une réponse ce soir à mon client, ça serait vraiment génial....
Marsh Posté le 26-11-2007 à 08:36:34
Problème toujours pas résolu.... Personne n'a ce type de problème ?
Marsh Posté le 13-12-2007 à 16:17:29
Allez, je le fais remonter, ça fait longtemps que je suis pas venu, mais si d'autres personnes ont le même pb...
Marsh Posté le 16-12-2007 à 19:34:59
As-tu essayé de tester les valeurs ou la variable ?
Plus exactement, le problème des 32800 lignes est-il dépendant des valeurs insérées dans ce tableau, ou de la longueur du tableau lui-même ? As-tu essayé de générer un tableau, vide, de la même dimension ?
Marsh Posté le 16-12-2007 à 22:05:05
et si vous passiez en JSon ?
ou si vous faisiez du code plus intelligent et plus propre ?
Marsh Posté le 18-04-2008 à 14:04:31
J'avais pas vu que j'avais des réponses sur ce topic...
Merci gatsu, je reconnais bien la ta verve habituelle....
C'est quoi JSon ?
Et sinon, du code plus propre, j'ai aucun problème avec ça....
Le fait est que le code généré est gravé sur CD (ou DVD) pour être utilisable partout, sans connexion internet, depuis le fin fond d'un atelier.
Quand on a mit en place ce code JS, c'était la seule solution technique qu'on connaissait à cette époque (je suis pas un expert js non plus...).
Le produit est un manuel d'aviation, généré à partir de bases de données access et pdf. Sachant que les pdf sont donc inclus sur le CD, on a fait une interface html/js pour pouvoir faire un menu d'accès aux pdf sur la gauche, et la quantité d'infos à stocker est assez importante....
Sachant qu'il faut gérer ces menus, une navigation inter fichiers (précédent / suivant) et les ouvertures ou fermetures des différentes rubriques et sous rubriques du menu...
Le reste du code est plutôt propre, le seul truc c'est que je vois pas d'autres solutions à part ce tableau de tableau....
Si t'as une meilleure idée n'hésite pas par contre...
Merci
Marsh Posté le 23-11-2007 à 10:01:29
Bonjour,
Pour un de nos clients, nous devons livrer un produit plutôt habituel, sur un CD. Une sorte de mini interface web, avec du code javascript, qui permet de consulter de la documentation PDF avec un menu html/javascript sur la gauche, qui va chercher les bons documents PDF dans des dossiers tout ça.
Le fait que le javascript, pour certains gros produits, dépasse les 49000 lignes (on va jusqu'à 50000 au maximum, moyenne constatée) dans le fichier javascript.
Ce produit fonctionne très bien avec IE 5, IE 6, Firefox, Opera. Par contre, sur IE 7, il ne fonctionne pas, il met une erreur vers une ligne située aux alentours de 32800 (pas très loin d'un chiffre très significatif).
Il semblerait donc qu'IE 7 ne supporte pas de trop gros fichiers javascript. Le problème c'est que du coup certains clients, qui ont vraissemblablement IE7, se plaignent, et c'est normal.
A l'heure actuelle, je suis coincé, puisque je ne peux pas changer le produit en lui même (sauf si il y avait un bug venant de moi, mais ce n'est pas le cas). Si c'est quelque chose à configurer dans IE 7, il faut que je le signale à mon client, qui le signalera aux siens via une note insérée dans le CD.
Bref, si vous pouviez m'aider à trouver une solution, parce que là, je ne te trouve pas...
Merci d'avance