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 :

Javascript et Mozilla


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut Javascript et Mozilla
    Bonjour,

    Je viens de poster ce matin, mais je vais créer un second post car mon problème n'est plus vraiment le même

    Voilà, grâce à une fonction javascript que l'on m'a donné, ma page contenant un tableau de mot clé surligne ces mots clés dans un texte situé sur la même page lorsque je passe ma souris sur les mots clés du tableau. Jusque là tout va bien. Mon problème est que sous Eclipse ou sur IE, c'est impeccable, mais Mozilla ne semble même pas détecter la fonction javascript....

    Est-ce dut au script lui même ? J'ai déjà utilisé le javascript et il marchait dans Mozilla (l'option Activer Javascript est cochée).

    Si quelqu'un a une solution, je suis preneuse ! Je remet le code ci-dessous si jamais c'est une ligne de ce code qui pose problème :

    "motsCle" est l'id du tableau et "texteDoc" est l'id de la division contenant le texte.

    Code Javascript : 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
     
    var motsCles = document.querySelectorAll("#motsCles td");
    var texte = document.getElementById("texteDoc");
    var texteInitial = texte.innerHTML;
     
    for(var m=0; m<motsCles.length; m++){
        (function(motCle){
                motCle.addEventListener("mouseover", function(){
                   surbrillance(texte, motCle.innerText);
                });
                 motCle.addEventListener("mouseout", function(){
                   texte.innerHTML = texteInitial;
                });
        })(motsCles[m]);
    }
     
    function surbrillance(ou,quoi){
    	var StrReg="("+quoi+")";
    	var Reg=new RegExp((StrReg),"gi")
    	ou.innerHTML= ou.innerHTML.replace(Reg,'<span style="background-color:#53C5FE;">$1</span>')
    }

  2. #2
    Membre éclairé Avatar de scandinave
    Homme Profil pro
    Développeur Java, NodeJs/Angular
    Inscrit en
    Mai 2009
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java, NodeJs/Angular

    Informations forums :
    Inscription : Mai 2009
    Messages : 277
    Par défaut
    Si ton code marche sur IE, ya pas de raison qu'il ne marche pas ailleurs. Sauf à utiliser une fonction propriétaire.

    Si tu n'a pas l'extension firebug, je te conseil de l'installer, sinon tu peut juste faire un ctrl + maj + i dans Firefox pour ouvrir la console de développement.

    Ensuite tu va dans console web et tu regarde si d'éventuelles erreurs apparaissent lors de l’exécution du script.

    Tu peux également regarder dans l'onglet Débogueur et voir si ton script apparait dans la liste des fichiers.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Par défaut
    Bonjour,

    Je n'ai pas analysé le code, mais j'ai juste une question:

    où insères-tu le code: dans le head ou à la fin du body ?
    Si c'est dans le head, essaie de déplacer ta balise script à la fin du body.

  4. #4
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Sous firefox, quand tu fais ctrl+maj+j, tu peux voir si il y a une erreur, regarde déjà là ce que ça donne.

    Si il n'y a pas d'erreur, donne peut etre le code html pour voir l'appel de la fonction

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut
    Alors,

    Déjà j'appelle mon fichier Javascript après mon body, donc ça ne vient pas de ça.

    J'ai fait Ctrl+Maj+i et Ctrl+Maj+j. Il semble effectivement détecter une erreur mais j'avoue ne pas avoir bien compris le problème (je n'avais jamais utilisé cette méthode auparavant). Et surtout, s'il y a une erreur, pourquoi ça marche sous IE ? (quoi que ça... Heum enfin bon on en dira pas plus sur IE).

    J'ai pas grand chose à montrer pour mon html, je peux donner la forme de la table et de la division du texte, mais comme j'appelle mon fichier Javascript après je ne sais pas si c'est utile :

    La table (seulement un morceau, le reste est identique) :
    Code html : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <table id=motsCles border="1" width="375px" style="text-align: center;">
    	<tr>
    		<th colspan=4>Mots-clés potentiels :</th>
    	</tr>
     
    	<tr>
    		<td rowspan=3>Sujets</td>
    		<td id=tableInfo>pêche</td>
    		<td>0</td>
    		<td><input type=checkbox name=m1></td>
    	</tr>
     
    	<tr>
     
    		<td id=tableInfo>plan</td>
    		<td>0</td>
    		<td><input type=checkbox name=m2></td>
    	</tr>
     
    	<tr>
     
    		<td id=tableInfo>travail</td>
    		<td>0</td>
    		<td><input type=checkbox name=m3></td>
    	</tr>
     
    	<tr>
    		<td>Lieux</td>
    		<td id=tableInfo>Rome</td>
    		<td>0</td>
    		<td><input type=checkbox name=m1></td>
    	</tr>
     
    	<tr>
    		<td>null</td>
    		<td id=tableInfo>Italie</td>
    		<td>0</td>
    		<td><input type=checkbox name=m1></td>
    	</tr>
    </table>

    Le texte (La variable texte contient le String contenant le texte) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id=texteDoc>
    	<%= texte%>
    </div>

    Voilà voilà, je vois pas trop ce que je peux montrer de plus ?

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut
    Entre autre, j'ai installé firebug, du coup je peux parcourir le code de ma page et je voix le JavaScript. Par contre, il n'est pas indiqué qu'il y a une erreur, comment faut-il faire pour voir si il y a un problème avec mon code JavaScript ?

    Merci de prendre le temps de m'aider !

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Par défaut
    Re

    Le problème viens de innerText qui est une spécialité de IE.
    Donc, essaie de remplacer ta ligne 9 par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    surbrillance(texte, (motCle.textContent) ? motCle.textContent : motCle.innerText);
    Dis nous si ça fonctionne...

  8. #8
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut
    Super, c'était bien ça !! =D

    Merci beaucoup, tout marche maintenant !! Bonne journée

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Par défaut
    Teste sur IE, ça peut provoquer une erreur. Si c'est le cas, met ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    surbrillance(texte, (typeof motCle.textContent !== 'undefined') ? motCle.textContent : motCle.innerText);

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

Discussions similaires

  1. javascript et mozilla firefox
    Par filescan dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 21/04/2009, 16h34
  2. [AJAX] Javascript IE != Mozilla
    Par Adlack dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/03/2007, 14h41
  3. Erreur dans la console javascript de mozilla firefox
    Par zodd dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/10/2006, 18h51
  4. javascript et mozilla
    Par lyon31 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/03/2006, 14h19

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