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 :

[DOM] Javascript et firefox


Sujet :

JavaScript

  1. #1
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut [DOM] Javascript et firefox
    Bonsoir tout le monde,

    J'essaie pour l'instant de mettre au point une petite galerie photo, j'ai quelque peu all�ger le code (pas mis les CSS) de mani�re � ce qu'il ne soit pas trop long � parcourir. Sous ie6 - ie7, �a fonctionne sans probl�me. Mais firefox semble r�tissant... Quelqu'un voit le pourquoi du comment?

    Merci.

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <script>
    		function initializeScripts(){
    			initializeClickableImages();
    		}
     
    		function initializeClickableImages(){
    			clickableImages = findTagsByAttribute('img','className','clickable');
    			for(ci=0 ; ci<clickableImages.length ; ci++){
    				window.status +="Image" + parseInt(ci+1) + " initialized"; 
    				clickableImage = clickableImages[ci];
    				clickableImage.onclick=displayImage;
    			}		
    		}
     
    		function displayImage(){
    			tdCentre = findTagsByAttribute('td','className','frame centre')[0];
     
    			img = new Image();
    			img.src = this.src;
    			img.width = this.width;
    			img.height = this.height;
    			img.alt=this.alt;
    			xyFactor = this.width/this.height;
    			if(xyFactor>0){
    				img.width=460;
    				img.height=parseInt(img.width/xyFactor);
    			}else if(xyFactor<0){
    				img.setAttribute("height","320");
    				img.setAttribute("width",parseInt(img.height)*xyFactor);				
    			}else{
    			}
    			tdCentre.innerHTML="<center>"+img.outerHTML+"<p/><span style='color: #eeeeee; padding: 10 0 10 0;'>"+img.alt+"</span></center>";	
    		}
     
    		function findTagsByAttribute(tagName, attributeName, attributeValue){
    			tagList = document.getElementsByTagName(tagName);
    			return findElementsByAttribute(tagList, attributeName, attributeValue)
    		}
     
    		function findElementsByAttribute(elmList, attributeName, attributeValue){
    			elms = new Array();
    			for(i=0 ; i<elmList.length ; i++){
    				elm = elmList[i];
    				if(elm.getAttribute(attributeName).toUpperCase()==attributeValue.toUpperCase()){
    					elms[elms.length]=elm;
    				}
    			}
    			return elms;
    		}
    </script>
     
    <div onMouseOver="initializeScripts();">	
    	<table class="frame" ">
    		<tr width="">	
    			<td class="frame miniatures">
    				Cliquez sur une photo pour l'aggrandir
    				<p/>
    				<?php                           
                     print "<img class='clickable' src='./Paris/1.jpg' width='40px'/>";
                                    ?>
    			</td>	
    		</tr>
    		<tr width="">
    			<td class="frame centre" >
     
    			</td>
    		</tr>
    	</table>
    </div>

  2. #2
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    Et si tu nous disais � quel endroit ? As-tu une erreur Javascript ? Que dit Firebug (si tu ne l'as pas, installe-le, �a sauve la vie des programmeurs Javascript) ?

  3. #3
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut
    Bonjour Bis�n�rs,

    Je n'ai pas encore firebug (comme c'est un truc que je d�veloppe hors boulot, je n'ai pas la possibilit� de tester avant ce soir.) En fait, il n'y a aucune erreur js retourn�e... Sur ie, je passe sur la div, le js initialise la chose et je peux cliquer sur ma photo. Par contre, sous firefox, pas de message d'erreur, je passe sur la zone mais rien ne se produit... Je reste perplexe.

    En tout cas, merci pour la piste firebug, j'essaierai d�s mon retour.

  4. #4
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    Si tu n'as ni la Webdeveloper Toolbar ni Firebug install�s, Firefox ne parlera pas des masses concernant les erreurs Javascript.

    Apr�s, ton bug Firefox peut venir d'un probl�me au niveau HTML (je vois dans ton code HTML :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <table class="frame" ">
    un guillemet en trop), alors que IE n'est pas trop regardant ni contrariant, Firefox lui n'aime pas trop ce genre de choses.

  5. #5
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut
    Re...

    J'ai install� firebug qui m'indique cette ligne avec insistance... Mais je dois avouer que je ne comprends pas trop pourquoi...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if(elm.getAttribute(attributeName).toUpperCase()==attributeValue.toUpperCase()){

    elm.getAttribute(attributeName) has no properties
    findElementsByAttribute([img.clickable 2.jpg, img.clickable 3.jpg, img.clickable 4.jpg, 41 more...], "className", "clickable")test (line 199)
    findTagsByAttribute("img", "className", "clickable")test (line 192)
    initializeClickableImages()test (line 162)
    initializeScripts()test (line 158)
    onmouseover(mouseover clientX=0, clientY=0)


    J'ai quand m�me et dans le doute vir� le " qui servait � rien...

  6. #6
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut
    Je me suis remis sur la source et je ne vois toujours pas ce que c'est... En fait, Firebug affiche 2 erreurs par miniature de photo survol�e...

  7. #7
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut
    En d�bugant avec de alert, j'ai vu que elm.getAttribute(attributeName).toUpperCase() �tait toujours null sous firefox alors qu'il s'initialise � clickable sous IE. Hors clickable est le nom de la classe de la balise image.
    Quelqu'un connait la source de ce comportement?

  8. #8
    Membre chevronn�
    Inscrit en
    Novembre 2006
    Messages
    336
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par d�faut
    Hello

    Tu as un element tr�s interessant sous Firebug ; La console.

    Tu peux faire un console.log, qui est plus explicite qu'un alert, et console.trace, qui remonte les appels � une fonction.
    Utilise console.log(elm) dans findElementsByAttribute, puis click droit et "Inspect In Dom Tab" pour voir le contenu de ton objet.

    Utilise �galement la m�thode push() pour mettre un �lement qui correspond � tes attentes dans la liste de retour (dans findElementsByAttribute).

  9. #9
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut
    ok, je vais tenter le coup... Ce que j'ai du mal � comprendre, c'est pourquoi �a fonctionne sous ie et pas sur ff...

  10. #10
    Membre �clair� Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par d�faut
    Re...

    Sous FF, les attibuts de eml sont toujours � null... Je ne comprends franchement pas pourquoi parce que lorsque j'envoie manuellement les valeurs dedans, �a fonctionne... Quelqu'un sait d'o� �a peut venir???

    Merci.

Discussions similaires

  1. [DOM] Compatibilit� Javascript et Firefox
    Par Madness64 dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 01/01/2009, 17h39
  2. [DOM] [javascript] pb IE/Firefox
    Par topolino dans le forum XSL/XSLT/XPATH
    R�ponses: 1
    Dernier message: 12/12/2005, 10h20
  3. processeur javascript et firefox
    Par arnobidul dans le forum XSL/XSLT/XPATH
    R�ponses: 1
    Dernier message: 05/08/2005, 11h09
  4. [XML][XSL][DOM][JAVASCRIPT]melanger le tout, laisser reposer
    Par mitsein dans le forum XSL/XSLT/XPATH
    R�ponses: 2
    Dernier message: 16/07/2004, 16h56

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