Accueil > Forum > > > > Problème de script faisant ralentir ie
Problème de script faisant ralentir ie
mercredi 5 août 2009 à 16:33:28 |
Problème de script faisant ralentir ie

gregusse
|
Bonjour !
J'ai un problème sur un script que j'ai codé. J'ai le message de IE "un script fait ralentir internet explorer ...". Apparemment c'est à cause du nombre d'instructions (au bout de 5000000 ie fait apparaitre le message). Il n'apparaît pas régulièrement mais je souhaite qu'il n'apparaisse plus du tout.
Voila le message s'affiche de temps en temps lorsque je clique sur le bouton enregistrement qui appelle le submit à la fin de la fonction javascript. Avant le submit il y a un contrôle qui ai fait sur les différentes colonnes d'un tableau :
/**
* Fonction qui permet d'enregistrer une trame demande Essai.
*/
function enregistrementTrame(etat) {
if (checkDataM2M12() && checkDateMois() && checkSelectEdp()) {
//si etat == 1 on ajoute la trame à la base en etat Projet sinon en etat Envoyée.
if (etat == 1) {
document.getElementById('etatEnregistrement').value = "Projet";
document.getElementById('forward').value = document.getElementById('typeAction').value;
var texteAlert = "<%=keys.getMessage("js.enregistrer.trame")%> " + " ?";
if (confirm(texteAlert)) {
activeChamps();
}
} else if (etat == 2){
document.getElementById('etatEnregistrement').value = "Envoyée";
document.getElementById('forward').value = document.getElementById('typeAction').value;
var texteAlert = "<%=keys.getMessage("js.envoyerCOPM.trame")%> " + " ?";
if (confirm(texteAlert)) {
activeChamps();
}
} else {
document.getElementById('forward').value = "toPreview";
activeChamps();
}
document.forms['demandeEssaiCNPEform'].submit();
}
}
//Permet d'activer les champs disabled pour prendre en compte la valeur.
function activeChamps() {
document.getElementById('hiddenLibelleEdp').value =
document.getElementById('selectEdp').options[document.getElementById('selectEdp').selectedIndex].text;
document.getElementById('calendar').disabled = false;
}
//Vérifie si une Edp est sélectionnée dans la liste déroulante.
function checkSelectEdp() {
var bIsSelect = true;
if (document.getElementById("selectEdp").value == "") {
var texteAlert = "<%=keys.getMessage("js.error.champ.obligatoire")%> " + "Tranche (EDP)";
alert(texteAlert);
bIsSelect = false;
}
return bIsSelect;
}
//Vérifie si le mois est au bon format.
function checkDateMois() {
var moisDe = document.getElementById("textMoisDe").value;
var bIsDateMois = true;
if (!oUtils._isFormatMois(moisDe)) {
var texteAlert = "<%=keys.getMessage("js.error.trame.mois.format")%> " + "DU MOIS DE";
alert(texteAlert);
bIsDateMois = false;
}
return bIsDateMois;
}
//Vérifie le tableau contenant les tramesEssaiPlanifM2M12.
function checkDataM2M12() {
var m2m3 = document.getElementsByName("textDateEnvisageeM2ToM3");
var m4m6 = document.getElementsByName("textDateEnvisageeM4ToM6");
var m7m12 = document.getElementsByName("textDateEnvisageeM7ToM12");
var dateTot = document.getElementsByName("textPlageToleranceDateTot");
var dateTard = document.getElementsByName("textPlageToleranceDateTard");
for (var i=0, len = m2m3.length; i < len; ++i) {
if (m2m3[i].value != "" && !oUtils._isDate(m2m3[i].value)) {
var texteAlert = "<%=keys.getMessage("js.error.trame.date.format")%> " + "Date envisagée M+2 à M+3";
alert(texteAlert);
return false;
} else if (m4m6[i].value != "" && !oUtils._isDate(m4m6[i].value) ) {
var texteAlert = "<%=keys.getMessage("js.error.trame.date.format")%> " + "Date envisagée M+4 à M+6";
alert(texteAlert);
return false;
} else if (m7m12[i].value != "" && !oUtils._isDate(m7m12[i].value)) {
var texteAlert = "<%=keys.getMessage("js.error.trame.date.format")%> " + "Date envisagée M+7 à M+12";
alert(texteAlert);
return false;
} else if (dateTot[i].value != "" && !oUtils._isDate(dateTot[i].value)) {
var texteAlert = "<%=keys.getMessage("js.error.trame.date.format")%> " + "Plage de tolérance Date au plus tôt";
alert(texteAlert);
return false;
} else if (dateTard[i].value != "" && !oUtils._isDate(dateTard[i].value)) {
var texteAlert = "<%=keys.getMessage("js.error.trame.date.format")%> " + "Plage de tolérance Date au plus tard";
alert(texteAlert);
return false;
}
}
return true;
}
Voila le code qui est appelé avant le submit. il y a sûrement beaucoup choses à améliorer, c'est sûr ...
Par contre, le message apparaît lorsque j'effectue des modifs sur la page avant.
Si quelqu'un peut m'aider, c'est avec joie !
|
|
mercredi 5 août 2009 à 16:56:03 |
Re : Problème de script faisant ralentir ie
|
mercredi 5 août 2009 à 17:42:39 |
Re : Problème de script faisant ralentir ie

gregusse
|
Oui c'est vrai, excusez moi. Mais mon code est assez long et comme j'ai du mal à localiser l'erreur je ne voulais pas mettre plein de code. Je vais essayer de synthétiser
Je développe en J2EE avec struts.
En fait il y a 2 tableaux dans cette page :
J'ai fais un objet javascript pour le premier. C'est un tableau dynamique. Je peux ajouter des lignes en rentrant des données dans un autre et en cliquant sur ajouter.
Dans ce tableau l'utilisateur peut ajouter des lignes en cliquant sur "ajouter" :
<a id="btnAjouter" href="javascript:ajouter();" class="btntxt">Ajouter</a>;
Ca appelle ensuite la méthode de l'objet javascript "_addLine()"
_addLine: function()
{
//On vérifie les différentes règles.
if (!this._checkMaxLine())return;
if (!this._checkData())return;
var iIndex = this._lineEmpty();
var tableWithTitle = this._getTableWithTitle();
this._fillLine(iIndex);
tableWithTitle[iIndex].style.display = "block";
},
il y a un traitement derrière qui vérifie les données du tableau.
Ce qu'il faut savoir c'est qu'au chargement de la page je charge 20 lignes dans le tableau (C'est une liste instancié en java dans l'action). J'utilise le style.display de l'élément pour masquer une ligne ou la faire apparaître. Donc les 20 lignes sont toujours présentent sur la page elles sont simplement cachées grâce a style.
Le deuxième tableau à 6 lignes et 10 colonnes. Je peux rentrer des données dedans. Chaque balise <td> contient des balises <html:text>. Les données sont vérifiées en javascript dans le code du message précédent.
Le problème de mon message n'intervient que quand je manipule le premier tableau. Mais ce que je ne comprends pas c'est que le message apparaît uniquement quand je clique sur enregistrement qui est une fonction qui n'a rien à voir avec la fonction ajouter.
C'est difficile d'envoyer du code. Pour l'ajout d'une ligne j'ai différentes vérifications à faire et ça représente pas mal de ligne. Il faudrait presque que j'envoie mon code global comme l'erreur peut intervenir de n'importe quelle fonction ?
Je pense que ca ne sert pas à grand chose mon explication . S' il y a moyen d'envoyer pas mal de code pour que quelqu'un puisse regarder, c'est avec joie.
Merci
|
|
jeudi 6 août 2009 à 05:27:11 |
Re : Problème de script faisant ralentir ie
|
jeudi 6 août 2009 à 11:00:00 |
Re : Problème de script faisant ralentir ie

gregusse
|
Mon problème est qu'il s'agit s'une application que je développe en local donc pas d'adresse où tester.
Oui sinon j'ai débuggé mais je ne trouve pas où se situe mon problème. J'ai même changé le clé de la base de registre pour passer les instructions à 6000000 et dans ce cas ça fonctionnne, je n'ai plus le message. Mais le problème est que je ne peux pas dire au client de faire ça.
Merci pour votre aide. Je vais essayer de reprendre mon code.
|
|
jeudi 6 août 2009 à 11:10:10 |
Re : Problème de script faisant ralentir ie
|
Cette discussion est classée dans : var, document, value, getelementbyid, textealert
Répondre à ce message
Sujets en rapport avec ce message
Problème cahce avec IE [ par goulouk ]
Bonjour,je voudrais savoir comment empécher de mettre une page en cache, ou alors obliger IE à recharger la page sans la prendre dans le cache.Je vous
incrementer [ par tonytruand ]
bonjour;j'ai un souci d'incrémentation. Dans une function ci dessous, j'aimerai que le i se traduise par 0 puis 1 puis 2 etc.J'ai bien essayer le for
interdire mots [ par tonytruand ]
Bonjour à la communauté !j'ai besoin de votre aide, en effet je cherche à retirer dans un texte, par exemple, tous les : le la les du en ect. J'ai pou
Problème Firefox & document.getElementById [ par leviz ]
Bonjour,J'ai un problème avec Firefox, il ne me recupère pas les valeurs de mon formulaire et pourtant sous IE ça fonctionne très bien. alert(
envois de formulaire ajax [ par Annadrill ]
bonjour,voilà, j'aimerais modifier la fonction que je vous mets la dessous, de manière a pouvoir l'utiliser avec n'importe quel formulaire, en précisa
récuperer données table [ par anasjava ]
Je suis débutant en java et j'ai un petit souci, je remli une table par des donnée
insertion des donne javascripte dans une bdd [ par somapi ]
salue les amies j'ai un pFe qui consiste à crée une ma interactive bon, ma problème c'est que j'ai des donne dans ma base j aimerait bien récupère ces
Problème calcul "IF" (conditionnel) [ par canascat008 ]
Bonjour a tous, je suis un petit morpion dans le monde du codage et je bute sur une formule !! je suis en train de coder un formulaire pour calculer
Vérification formulaire [ par maha1987 ]
salut tout le monde, j'ai un formulaire html et css mais le controle javascript ne fonctionne pas j'ai essayé même avec le jquery mais toujours le mê
Redimentionnement et Repositionnement d'un DIV [ par fabiano13 ]
Bonjour, Je voudrais superposer un div d'une dimension précise sur une vidéo et lorsque je suis en mode "plein écran" ce div devrait se redimensionne
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|