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 :

Internet Explorer ne charge pas le fichier JS


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 33
    Points
    33
    Par défaut Internet Explorer ne charge pas le fichier JS
    Bonjour à tous,

    Voici le soucis, j'ai un portail avec un menu en javascript qui fonctionne parfaitement sous Firefox, Opera, Safari... ( valid XHTML, CSS ), et le menu en question marche aussi parfaitement sous IE sauf...

    sauf que notre bon ami a une facheuse tendance à charger une fois sur 2 le fichier javascript et du coup, le menu ne marche pas, et j'ai un bug "OBJECT EXCEPTED" ...

    Est-ce que quelqu'un a déjà rencontré ce genre de problème ?

    Merci pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui je crois que ca a du arriver au moins une fois a tous ceux qui font du javascript.

    Ce qui t'arrives s'appel tout simplement une erreur !!!

    Ca doit meme t'indiquer a quelle ligne se situe l'erreur, si tu veux qu'on t'aide, montre nous cette ligne
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 33
    Points
    33
    Par défaut
    je suis tout à fait d'accord avec toi que ceci est une erreur "basique" dans le script... la ligne de référence est le nom de la fonction que le navigateur ne trouve pas vu que le navigateur ne charge pas le fichier JS...

    Et là est la question, pourquoi ne veut-il plus charger ce fichier ?

    Pour l'exemple, j'ai constaté l'erreur sur des Windows XP avec Internet Explorer 6 SP1 et SP2 ( j'ai essayé IE7, et ça marche nickel parcontre... )
    http://www.ki4ngel.com/z_admin/
    Login: demo
    Pass: demo

    le fichier javascript comporte le nom suivant:
    http://www.ki4ngel.com/z_admin/admini_js.php
    ( ce fichier réagit à la session )

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh moi l'erreur que j'ai vient de la :
    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
     
    // FONCTIONS GENERALES
    function display_elts(id)
    {
    	if (document.getElementById) { id_if = document.getElementById(id).style.display; }
    	else if (document.all) { id_if = document.all[id].style.display; }
    	else if (document.layers) { id_if = document.layers[id].display; }
     
    	if (id_if == "none") {
    		if (document.getElementById) { document.getElementById(id).style.display = ""; }
    		else if (document.all) { document.all[id].style.display = ""; }
    		else if (document.layers) { document.layers[id].display = ""; }
    	} else {
    		if (document.getElementById) { document.getElementById(id).style.display = "none"; }
    		else if (document.all) { document.all[id].style.display = "none"; }
    		else if (document.layers) { document.layers[id].display = "none"; }
    	}
    }
    il recupère donc bien ton fichier ... non ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 33
    Points
    33
    Par défaut
    il me semble que toutes les frames ne récupèrent pas le fichier en fait...



    honnètement, ça fait un moment que je tourne dans ce code javascript, et je ne vois pas la moindre erreur


    moi j'ai des problèmes avec le menu
    code HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ul>
    <li class="title" onmouseover="menu_show('menu1');" onmouseout="menu_hide('menu1');"><a>Actualités</a>
    <ul id="menu1" style="display:none;" onmouseover="menu_show('menu1');" onmouseout="menu_hide('menu1');">
    <li class="text">...</li>
    <li class="text">...</li>
    </ul></li>
    <li class="title" onmouseover="menu_show('menu2');" onmouseout="menu_hide('menu2');"><a>Articles</a>
    ...


    et code JS
    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
     
    // FONCTIONS DU MENU
    function menu_show(id)
    {
    	if (document.getElementById) { document.getElementById(id).style.display = "block"; }
    	else if (document.all) { document.all[id].style.display = "block"; }
    	else if (document.layers) { document.layers[id].display = "block"; }
    }
     
     
    function menu_hide(id)
    {
    	if (document.getElementById) { document.getElementById(id).style.display = "none"; }
    	else if (document.all) { document.all[id].style.display = "none"; }
    	else if (document.layers) { document.layers[id].display = "none"; }
    }

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    franchement, je serais toi je virerais ces tests pour ne laisser que le getElementById, a moins que tu tienne a etre compatible avec des vieux navigateurs qui n'implémentent pas le dom
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 33
    Points
    33
    Par défaut
    j'ai allégé le code dans ton sens mais rien n'y fait... l'incompréhension est totale

    ( je soupçonne une défaillance même du navigateur et non du site, problème tout le monde utilise IE... )

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 33
    Points
    33
    Par défaut
    chose assez amusante ( si on peut dire )

    en faisant un clic droit dans la frame défaillante et en cliquant sur "refresh", l'erreur de la page semble se corriger d'elle même ( là encore, je suppose qu'en insistant un peu, le navigateur charge le fichier javascript )...

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    le soucis c est que tu a mis ton script dans toutes tes pages et dans le frameset ...

    peut etre un petit probleme de cache aussi
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 33
    Points
    33
    Par défaut
    la solution n'est pas du tout ça, mais cette idée m'a permis de repérer le problème

    Voici le code que les navigateurs n'aimaient pas:
    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
    26
    27
    28
    29
     
    function popup_db_preview(the_db,the_mode)
    {
    	the_action = (the_db == "news") ? "index" : the_db;
    	the_input_id = the_db +"_id";
    	the_input_title = the_db +"_title";
    	the_input_utf8 = (document.all) ? 1 : 0; // bug IE
     
    	var w = window.open("", "popup_form");
    	w.document.write('<html><head><title>Chargement en cours...</title></head>\n<body style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;">\n');
    	w.document.write('<form action="../'+ the_action +'<?php echo phpExt ?>" id="form_preview" method="post"><div>Chargement en cours...\n');
    	w.document.write('<input type="hidden" name="preview_mode" value="'+ the_mode +'" />\n');
    	w.document.write('<input type="hidden" name="'+ the_input_id +'" value="" />\n');
    	w.document.write('<input type="hidden" name="'+ the_input_title +'" value="" />\n');
    	w.document.write('<input type="hidden" name="my_textarea" value="" />\n');
    	w.document.write('<input type="hidden" name="utf8" value="'+ the_input_utf8 +'" />\n');
    	w.document.write('</div></form>\n');
    	w.document.write('</body>\n</html>\n');
    	w.focus();
     
    	var frmDest = w.document.getElementById('form_preview');
    	var frmSrc = document.getElementById('maForm1');
    	if (the_mode != "inactive") {
    		frmDest.elements[the_input_id].value = (the_mode == "modify") ? frmSrc.elements[the_input_id].value : "";
    		frmDest.elements[the_input_title].value = frmSrc.elements[the_input_title].value;
    		frmDest.elements['my_textarea'].value = frmSrc.elements['my_textarea'].value;
    	}
    	frmDest.submit();
    }

    Il semblerait que ce bout de code noyait dans un grand fichier, les navigateurs n'y prêtaient pas attention ( sauf IE... ok, j'étais médisant )

    Comme siddh me l'a indiqué, j'ai refait une page javascript pour chaque frame... et là bizarrement, plus aucun navigateur ne marchait, je prends donc le débuggeur Firefox et m'indique que le code ci-dessus ne lui plait pas.

    Je l'ai donc purement et simplement supprimé.
    Et maintenant, tout marche à merveille !

    donc je n'ai qu'une chose à dire: "Merci Siddh"

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

Discussions similaires

  1. Internet Explorer ne lit pas les border ?
    Par ramkin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/09/2011, 19h09
  2. Ne charge pas le fichier
    Par chrislav dans le forum Apache
    Réponses: 1
    Dernier message: 26/02/2009, 11h29
  3. [MySQL] Require_once ne charge pas le fichier
    Par Jarodd dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 04/02/2009, 22h37
  4. Réponses: 1
    Dernier message: 18/12/2008, 23h34
  5. Internet Explorer ne respecte pas la taille 100% du tableau
    Par Rbot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/03/2006, 17h32

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