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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 : 41
    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 : 41
    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...

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