Erreur 'ce script ralenti blabla interompre le script?'

ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007
- 4 avril 2007 à 09:46
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007
- 13 avril 2007 à 20:16
Bonjour

Ce foutu IE me pose bien des souci, je l'avais définitivement abandonné, mais pas la boite ou je me trouve...

J'a fait un super truc de fou avec treeview, et menu contextuel, tout ca passant par ASP (ou je sais moi aussi je prefere PHP...) avec une superbe base SQL server enfin bref un truc assez vilain pour mon petit niveau, et j'avoue etre tres contente du résultat

Sauf que.... 'Un script présent sur cette page ralentit Internet Explorer. S'il continue à être exécuté, votre ordinateur ne pourra peut-être plus réagir. Voulez-vous interrompre ce script?' OUI/NON

peut on zapper ce message? a savoir que continuer le script ne pose pas problème, ma page se charge tres bien... il y a zero erreur d'execution, et pas un temps de chargement préhistorique...


J'ai bien tenté des window.onerror bla bla, mais je gère pas vraiment super bien le truc, et vu la loooongueur du msg d'alerte... pas evident de trouver des sources

Merci beaucoup pour votre aide

27 réponses

cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
4 avril 2007 à 10:34
Bonjour,

    >>Ce foutu IE me pose bien des souci,
       bof... guère plus que les autres navigateurs, à mon humble avis.



    >>peut on zapper ce message?
        non.
        enfin, si : ça doit venir d'une sorte de "boucle" ?
        utiliser setTimeout.

        par exemple :

             while ( condition )
             {
                traitement
             }

       à remplacer par :

             function appel()
             {
                traitement
                if ( condition ) setTimeout("appel();",délai);
             }
             
             ou un truc de ce style...



<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

4 avril 2007 à 11:10
   >>Ce foutu IE me pose bien des souci,
       bof... guère plus que les autres navigateurs, à mon humble avis.

hum... un peu plus quand même, bref, ce n'est pas le problème...

utiliser setTimeout.
hum... ca à l'air d'etre une bonne solution mais fait-il encore que je trouve ou je dois placer ca! (et le faire correctement...)

ça doit venir d'une sorte de "boucle" ?
en fait... je recup un recordset avec ASP, et je fait
do until ...  
   if (ma condition)
      <script>appel aux fonctions javascript<script>
   elseif(ma condition)
      <script>appel aux fonctions javascript<script>
   end if
loop

les dites fonction se trouvant dans un joli .js

donc par rapport a ta proposition, le souci est que mon traitement est en javascript, mais ma condition en ASP! ca devient compliqué pour moi la
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
4 avril 2007 à 11:28
Bonjour,

    >>le souci est que mon traitement est en javascript, mais ma condition en ASP

        euh... asp génère la page html/javascript non ? comme le php.
       donc ton exemple me choque.

        asp/php... et javascript ni sur la même machine ni en même temps.  



<hr />



Cordialement        Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

4 avril 2007 à 14:53
Oui oui ASP / PHP c'est kif kif, en quoi est-ce choquant de générer du Javascript avec de l'ASP?
Parceque j'ai pas d'autre choix que de mélanger les 2!

Comment et ou pourrais-je coller cette histoire de timeout??? Peut etre un petit rapel sur qui envoie quoi comment a qui me ferait pas de mal  histoire de mieux cerner mon pbm et ou je peux le résoudre...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
4 avril 2007 à 15:04
>>Parceque j'ai pas d'autre choix que de mélanger les 2
            et pourtant : on ne peut pas !

tu n'as probablement pas compris "comment ça marche"
    ( et pas moyen de faire autrement )

    sur le serveur, le langage utilisé ( asp, php, ruby... ) génère une page
       html+javascript.  il l'envoie vers le client et se termine, "disparait".

    sur le micro, coté client ( 2 heures plus tard ? ), une page html
       est affichée. le javascript peut se dérouler. Pour communiquer
       avec le serveur, il faut renvoyer un formulaire, transmettre des
       données avec l'url... ( ajax ou pas, c'est pareil )






<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
4 avril 2007 à 15:09
>>en quoi est-ce choquant de générer du Javascript avec de l'ASP
je n'ai pas dis cela. mais asp envoie une page.
html/javascript doit répondre avant que asp ne redémarre.



<hr />



Cordialement    Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

4 avril 2007 à 15:38
Pour communiquer avec le serveur, il faut renvoyer un formulaire
Certes, mais je ne souhaite plus communiquer avec le serveur apres!
 
en simplifié, l'ASP me permet de generer une ligne de lien (en javascript donc, pour bénéficier du treeview et du menu contextuel) pour chaque eng de mon recordset. une fois la page affiché je n'attends plus aucun traitement, je dispose d'une liste de lien.

Tout cela marche impeccable! mon seul souci est l'affichage de cette boite de texte me demandant si je souhaite interrompre le script

Apres peut etre qu'il y a un truc qui m'echappe....
pour info tout mon code, asp comme Javascript est situé dans l'en tete...
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

4 avril 2007 à 16:29
PS du reste je n'ai pas cette erreur avec un "petit" recordset"... le souci est bien que j'ai un recorset d'au moins 500 lignes.... il faudrai une sorte de flush
0
cs_roro06
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

5 avril 2007 à 11:14
Bonjour




Je ne pense pas que la taille de ton recordset soit à l'origine de cette erreur dans la mesure où ce message est généré par le navigateur sur des scripts javascript, le recordset "restant" sur le serveur, qui est normalement capable de boucler 500 fois sans broncher (beaucoup plus, en réalité). Ou alors qqch m'echappe, j'aimerais bien voir comment tu procède.

Cordialement
Roro webDev

PS : Response.flush() existe dans asp
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

7 avril 2007 à 18:49
J'ai tenté le response.flush mais cela n'ai eu aucun effet.

En fait quand je dis que c'est a cause de mon recordset, c'est sur un recordset de 5 eng, cela génér que 3 lignes de javascript (faisant chaqu'unes appel aux fonctions etc) alors que sur un recordset de 1000 eng... et bien je génére une sacrée pagaille!!!

en simplifié ca donne:

do until monRS.eof
   if (ma condition) then
      response.write "<script>appel aux fonctions javascript</script>"
   end if
   monRS.movenext
loop

les dites fonctions javascript me permettant de faire une treeview avec menu contextuel (avec des
et tout et tout

alors les 500 et quelques boucles ne possent aucun pbm, mais un script d'autant de lignes ca devient visiblement lourd...
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
8 avril 2007 à 08:29
do until monRS.eof
   if (ma condition) then
      response.write "<script>alert('toto');<\/script>"
   end if
   monRS.movenext
loop





( <\/script> est parfois nécessaire )




par exemple, va donner comme page html, s'il la boucle est faite 500 fois :

<script>alert('toto');</script>

<script>alert('toto');</script>

<script>alert('toto');</script>
            ....500 lignes comme celles-ci...

<script>alert('toto');</script>

<script>alert('toto');</script>



enfin de boucle, cette page va être envoyée au micro, où elle sera interprétée,
où ces javascript seront exécutés...

on est bien d'accord ?






<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

9 avril 2007 à 19:36
C'est quoi le <\/script>  ???

Sinon oui oui et encore oui si j'ai 500 eng j'aurai 500 fois <script>alert('toto');</script>

Sauf que je fais un peu plus compliqué qu'afficher une boite de dialogue avec ecrit "toto"....
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
10 avril 2007 à 08:02
>>C'est quoi le <\/script>  ???
    parfois nécessaire, interprété  comme fin par le langage
            serveur et pas par javascript.

>>si j'ai 500 eng j'aurai 500 fois <script>alert('toto');</script>
    ta réponse ne m'avait pas paru aussi claire que tu veux bien le dire ...
    je voulais être sûr que tu comprennais bien ce qui était généré.
    mais ( ça aussi déjà dit ) ça me choque ....

    ...boucle asp.
        génération de données à utiliser en javascript
    ..fin de boucle
        traitement des données générées en javascript
                et ici le setTimeout peut être mis.

>>Sauf que je fais un peu plus compliqué
    ben justement. !  500 traitements compliqués....

car le "message de ralentissement" c'est coté client.




<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

11 avril 2007 à 21:20
Hummmmm alors donc .. je resume... faut que j'essaye <\/script> a la place de </script>.... que je mette un setTime a chaque boucle...

Mais malgre tout ca le problème n'est pas resolu car il se situe pas coté serveur mais coté client... pourtant les temps de réponses sont bon

précision: pas d'input, mais avec les données de mon recordset je génére de l'affichage javascript (les fonctions aboutissent a des document.write....)

Mais quand meme, histoire de comprendre... pourquoi ai-je ce message alors que les temps de reponses sont bons une fois cliqué "non je ne veux pas arreter ce script" ??? D'autant que j'ai vraiment un PC antique ^^

Pour info, a la base j'avait fait

<script>
ma boucle
</script>

Ce qui (si je comprends bien ce que je fait) envoie un document html quasi vide (juste quelques
) avec tout plein de javascript dedans (qui appelle a ce moment la mes fameuses fonctions ralentissantes!)

J'ai bien tout suivi???
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
12 avril 2007 à 07:23
>> faut que j'essaye <\/script>
>>que je mette un setTime a chaque boucle...

        oui

>>alors que les temps de reponses sont bons
        pas ceux des script coté client, micro.

>>problème n'est pas resolu car il se situe pas coté serveur mais coté client
        oui, je te l'ai dit.

>>pas d'input, mais avec les données de mon recordset je génére de
l'affichage
>>javascript (les fonctions aboutissent a des document.write..
        mais quelle idée ??? génère directement le html en asp ! c'est fait pour ça.
      
        tu génère d'ailleurs ce que tu veux. du html, un array en javscript...
            enfin n'importe, ce qu dois te permettre de boucler un javascript
            donc d'introoduire des setTimeout si nécessaire.





<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

12 avril 2007 à 08:29
>>>mais quelle idée ??? génère directement le html en asp ! c'est fait pour ça.
HTML ne permet pas de faire des treeview...Ni des menu contextuels.

>>alors que les temps de reponses sont bons
       >>> pas ceux des script coté client, micro.
ben ce que je veux dire c'est que je plante pas le micro, ca bouffe pas la mémoire virtuelle, ca s'affiche de suite (ca me rassure au moins sur le fait que je boucle pas dans le vide)

Je vais me jeter dans le setTimeout... Merci pour l'aide, je vous tiens au courant
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
12 avril 2007 à 08:56
Bonjour,

>>HTML ne permet pas de faire des treeview...Ni des menu contextuels
ah bon ? et comment tu fais cela avec des document.write alors ?
   
si on prend un exemple  ( en php ! mais asp c'est pareil )
   
    echo "<script>document.write('texte');</script>";
    autant ( non ! mieux vaut ! ) faire
    echo "texte';


   

<hr />
Cordialement    Bul     [mon Site]     [M'écrire]
<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

12 avril 2007 à 21:04
>>HTML ne permet pas de faire des treeview...Ni des menu contextuels
ah bon ? et comment tu fais cela avec des document.write alors ?

ben plutot explique moi comment tu le fait en HTML  parcequ'alors je ne vois pas pourquoi on se prendrait tous l tete avec Javascript...

Tu a deja vu une treeview en html toi??? je dit pas une arborescence statique, mais bien une treeview! qui se replie et se deplie... avec des liens dessus...

Quand meme je suis pas douée, mais je ne suis pas completement idiote non plus, je ne me ferais pas ch*** avec JS si je n'en avais pas besoin!!! Tu te doute quand meme que mes fonction JS je leur passe des parametres, et dans mes document.write, y'a des onclick et patati et patata et s'il te plait ne me reponds pas que j'ai qu'a directement ecrire texte, parceque tant que j'y suis, mes 500 lignes je me les frappe a la mano

Sinon t'a pas une idée pour mon souci de menu dans fenetre indépendante??? http://www.javascriptfr.com/infomsg_MENU-DANS-FENTRE-INDEPENDANTE_915017.aspx

Comme je vois que tu essaye de m'aider  THX
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
13 avril 2007 à 06:48
c'était un exemple ! le tien.
mais tu me dis qu'avec asp tu génère des document.write....
je te faisais remarquer que c'était inutile. mais tu fais comme tu veux.
puisque ça marche . non ?
<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
0
ufufy
Messages postés
46
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2007

13 avril 2007 à 10:56
En quoi c'est inutile? le document.write qui est renvoyé n'est pas le meme en fonction des variables passées aux fonctions, et du traitement qui en sera fait.

Je croyais tu cherchais a m'aider , mais je constate de plus en plus que tout ce qui ressort de tes post c'est que tu juge peut etre un peu trop rapidement mon travail, limite que tu me prends pour une buse!

Alors peut etre que j'interprete mal, mais sur ce dernier port j'ai un peu l'impression que tu prends de haut... "mais tu fais comme tu veux. puisque ça marche . non ?"

Oui ca marche, non je ne fais pas comme je veux, mais comme ca marche, au niveau de mes compétences, en accord avec le travail que je dois fournir, de la plus "jolie" maniere possible.
Et bien que ca marche, j'ai ce message qui survient, ce qui enlaidit beaucoup le tout.

Alors peut etre que je dit des conneries et que je suis dans l'erreur, mais a ce moment la, ou tu souhaite m'aider et tu m'explique pourquoi, ou tu me laisse dans ma mer**, mais juste laisser un post genre "t lourde tu comprends rien, y'a rien faire" non merci
0