IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Plantage de Mozilla firefox a cause d'un code Javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Plantage de Mozilla firefox a cause d'un code Javascript
    Bonjour

    J'utilise ce petit script Javascript pour faire défiler de la pub sur mon site (http://www.woneb.net):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script language="JavaScript">
    var pub=new Array();
    pub[0]=...
    pub[1]=...
    function defiler_pub()
    {
    	numpub = Math.round(Math.random()*(pub.length-1));
    	document.getElementById("script_pub").innerHTML = pub[numpub];
    	setInterval("defiler_pub()",20000);
    }
    </script>
    Le tableaux pub [] contient mes differentes pub à afficher.

    Mon body : <body onload="defiler_pub()">

    L'affichage de ma pub : <div id="script_pub">....</div>

    Mon probleme est que Mozilla Firefox (sous Linux) plante au bout d'un moment. Cela vient de ce script c'est sur a 100%.
    Autre détail, avec le navigateur Opera cela ne plante pas.

    Je ne suis pas trés doué en Javascript, est ce que vous pouvez m'aider a trouver ce qui géne Firefox et de trouver un code arlternatif qui ne plante pas.

    Merci a vous
    Thomas

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    JE n'ai pas de souci de plantage avec le script suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <script type='text/javascript'>
    var pub=new Array();
    pub[0]="un"
    pub[1]="deux"
    pub[2]="trois"
    pub[3]="quatre"
    pub[4]="cinq"
    pub[5]="six"
    pub[6]="sept"
    pub[7]="huit"
    function defiler_pub()
    {
    	numpub = Math.round(Math.random()*(pub.length-1));
    	document.getElementById("script_pub").innerHTML = pub[numpub];
    	setInterval(function(){defiler_pub()},1000);
    }
    </script>
    </head>
     
    <body onload="defiler_pub()">
    <div id="script_pub"></div>
    </body>
     
    </html>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Non j'ai essayé sa fait toujour pareil.

    Pour que sa plante il faut laissé la page pendant 2-3 minute. Il devient tous noir pour dire qu'il repond plus, je ne peu plus cliqué nul part et je suis obligé de fermer le processus.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    rien à voir avec javascript ...
    change de PC ...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Lorsque je désactive javascript dans mozilla, cela ne plante pas.

    Quand a mon PC core2duo 2.2 Ghz avec 2 Go de ram (dons seulement 200mo utilisé). Ya rien a craindre sa vient pas de là. Surtout que comme je l'ai dit plus haut avec Opera cela ne plante pas.

    Sa vient de java script est uniquement dans mozilla, c'est sûr a 100%.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ben vu que le code que je t'ai donné plus haut fonctionne chez moi, je pencherait plutot pour un triangle des bermude insatllé autour de ton PC ...

    as tu modifié ta balise script ?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    La solution nous vient de BOVINO !!!

    sors le setInterval de la focntion sinon ça entraine une satruation de la pile !

    le setTimeout peut se lancer en fin de fonction de façon recursive, pas le setTimeout.

    Ce qui devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <script type='text/javascript'>
    var pub=new Array();
    pub[0]="un"
    pub[1]="deux"
    pub[2]="trois"
    pub[3]="quatre"
    pub[4]="cinq"
    pub[5]="six"
    pub[6]="sept"
    pub[7]="huit"
    function defiler_pub()
    {
    	numpub = Math.round(Math.random()*(pub.length-1));
    	document.getElementById("script_pub").innerHTML = pub[numpub];
     
    }
    fcuntion foo(){
    setInterval(function(){defiler_pub()},1000);}
    </script>
    </head>
     
    <body onload="foo()">
    <div id="script_pub"></div>
    </body>
    et du coup tu ne relancera pas un instance de setInterval à chaque instance de focntion defilpub ...

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Exelent Ca fonctionne.Merci beaucoup SpaceFrog et BOVINO.

    ET c'était pas Le triangle des bermudes.

    Pour ceux qui vienne pour copier le script, dans le code de Space frog y faut rempalcer "fcuntion foo()" par "function foo()". Petite erreur de frappe.

    Encor Merci

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Encor un petit rajout pour ceux qui veulent le récupéré :
    Avec le code modifié, il n'y a pas de pub pendant le premier labs de temps. Donc il faut rajouter defiler_pub() au debut de la fonction foo, comme ceci :

    function foo(){
    defiler_pub();
    setInterval(function(){defiler_pub()},1000);
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Bug sous Mozilla Firefox
    Par stailer dans le forum ASP.NET
    Réponses: 7
    Dernier message: 18/04/2007, 10h39
  2. problème entre IE et Mozilla firefox
    Par bilb0t dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/06/2005, 17h07
  3. Mozilla/Firefox : CSS complémentaires et non alternatives
    Par fredoche dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/01/2005, 10h32
  4. Réponses: 18
    Dernier message: 19/08/2004, 15h11
  5. [XML][XSL][Mozilla Firefox] Integraton dans une page JSP
    Par BANATACH dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/08/2004, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo