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 :

[IE]window.onload ne fonctionne pas


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 61
    Points : 35
    Points
    35
    Par défaut [IE]window.onload ne fonctionne pas
    Bonjour^^

    J'ai trouvé en plusieurs endroit cette astuce pour utiliser du code au chargement de ma page

    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
     
        function init() {
            // quit if this function has already been called
            if (arguments.callee.done) return;
     
            // flag this function so we don't do the same thing twice
            arguments.callee.done = true;
            self.location.replace(self.location+"#affichage_resultats");
        }
     
           if(document.addEventListener){
                    document.addEventListener("DOMContentLoaded", init, false); // for Mozilla
                    document.addEventListener("load", init, false); // for other good browsers
                } else
                    window.onload = init; // for IE
                    </script>
    Seulement voilà, ça ne marche que sous firefox et IE n'effectue pas la fonction init. Je me demande si quelqu'un trouve une erreur dans ce code ou si vous en avez un autre pour effectuer la fonction, au démarage.

    Merci !

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Yo !

    si les bidouilles marchent pas avec IE autant essayer (pour une fois ) la version standard :
    ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    Merci, mais non, ça ne fait rien, j'ai même une erreur me disant que document.body est vide...

    Finalement je ne pense pas que le problème vienne de là...
    J'ai fait un petit fichier de test de ces fonctions et il marche.

    En fait mon architecture est plus compliquée et moi-même j'aurais du mal à l'expliquer...
    il s'agit en fait d'un jsp d'affichage de résultat d'une requete sur un site J2EE (^^")

    Le script est dans un fichier à part et inclu dans le head.

    la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.addEventListener("DOMContentLoaded", init, false);
    fait fonctionner mon init() sous firefox mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.body.onload = init;
    ne fait rien, ni pour IE ni pour firefox

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    Pour recapituler :

    window.onload marche pour les 2 browser dans un petit exemple tout bete
    window.onload ne marche pour aucun browser sur mon site
    addEventListener (au meme endroit) corrige le problème sur mon site, mais uniquement pour firefox

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="bbcode_container">
    	<div class="bbcode_quote">
    		<div class="quote_container">
    			<div class="bbcode_quote_container"></div>
     
    				document.addEventListener("DOMContentLoaded", init, false);
     
    		</div>
    	</div>
    </div>
    ligne à switcher avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.attachEvent("ondomcontentloaded", init);

    mais aucune garantie de reconnaissance de l'événement par IE;

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    merci mais non plus :'(

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    Le problème a été réglé, j'avais betement oublié de vérifié qu'il y avait également un body onload dans la page.

    J'en profite pour écrire ici la solution au second problème que j'ai eu ensuite :

    IL NE FAUT PAS METTRE DE BALISE D'ANCRE VIDE AVEC IE

    il faut remplacer <a name="pouet"></a> par <a name="pouet"/> ou au mieux <a name="pouet">titre</a>

    LE MIEUX !

    C'est que ça foire pas à tous les coup, juste des fois, donc merci pour les tests "ben non regarde, là ça marche"

    J'AIME PAS IEEEEEEEEEEE

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Arf... jamais vu ça IE et ses "features" :-P (on dirait les segfault de VLC, c'est là pour que tu te sentes utiles en fait, puisque tu dois intervenir ^^)

    le mieux est effectivement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a name="titre">le titre</a>
    mais sinon un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a name="titre">&nbsp;</a>
    fera l'affaire (si ça désigne une trop grosse partie de la page, ou si ça ne désigne qu'un point bien précis (style #top )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

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

Discussions similaires

  1. window.onload Ne fonctionne pas au rechargement de la page
    Par qiceti dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/04/2015, 09h46
  2. Réponses: 0
    Dernier message: 04/08/2009, 18h46
  3. window.location ne fonctionne pas sous explorer 6
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/10/2007, 16h35
  4. window.open : "fullscreen" fonctionne pas sous fir
    Par golgauth dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/11/2005, 06h02
  5. window.resizeTo ne fonctionne pas avec firefox?
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2005, 15h07

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