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 :

Compatibilité du code entre navigateurs


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Compatibilité du code entre navigateurs
    Bonjour !

    J'ai réalisé un diaporama en Javascript qui marche parfaitement sous firefox. Cependant, lorsque je le lance sous Internet Explorer 6, rien ne s'affiche. Auriez-vous une explication s'il vous plaît ? Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    boule de cristal boule de cristal... laisse moi deviner le code utilisé ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    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
    <!-- Déclaration des variables-->
    var numero = 0;
    var tableau_photos = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg"];
    var timer;
    var timer1;
    var timer2;
    var verif=0;
    var i;
     
    <!-- Fonction pour se déplacer à la photo suivante-->
    function suivante() 
    {
    	if(numero==tableau_photos.length-1) numero=0;
    	else numero++;
    	document.image_1.src=tableau_photos[numero];
    }
     
    <!-- Fonction pour se déplacer à la photo précédente-->
    function precedente() 
    {
    	if (numero == 0) numero=tableau_photos.length-1;
    	else numero--;
    	document.image_1.src=tableau_photos[numero];
    }
     
    <!-- Fonction pour stoper le diaporama automatique-->
    function stop_auto()
    {
    	if (verif==1) clearTimeout(timer);
    	else if (verif==2) clearTimeout(timer1);
    	else if (verif==3) clearTimeout(timer2);
    	verif=0;
    }
     
    <!-- Fonction pour activer le diaporama automatique avec temporisation-->
    function auto()
    {
    		if (document.getElementById("temps_1").checked)
    		{
    		verif=1;
    		suivante();
    		timer = setTimeout("auto()", 2000);
    		}
    		else if (document.getElementById("temps_2").checked)
    		{
    		verif=2;
    		suivante();
    		timer1 = setTimeout("auto()", 6000);
    		}
    		else if (document.getElementById("temps_3").checked)
    		{
    		verif=3;
    		suivante();
    		timer2 = setTimeout("auto()", 15000);
    		}
    }
     
    function auto_debut()
    {
    	if (verif==0)
    	{
    	stop_auto();
    	auto();
    	}
    }
    Désolé !!

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    et il te dit quoi IE ?
    tu as essayé de placer des alerts à différents endroit pour voir ou ça coince ?
    sépare bien tes procédure et conditon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(condition){procédure 1}
    else{procédure 2}
    tu l'appelles ou la fonction ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    IE ne me dit rien du tout, la page est complètement blanche. Et je n'ai pas essayé pour les 'alert' , mon code est pafaitement correcte car il tourne sous Firefox je ne pense pas que ca donnerait quelque chose. Voila la page XHTML pour que tu puisses voir où j'appelle mes fonctions :
    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
    70
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    <head>
    	<title>Diaporama</title>
    	<script type="text/javascript" src="script_diapo.js"/>
    	<link rel="stylesheet" media="screen" type="text/css" title="noir" href="couleur_diapo.css" />
    </head>
     
    <body>
     
    	<div class="center">
     
    		<div>
     
    		<!-- Bouton automatique-->
    		<a href="javascript:;"
    		onmouseover="document.automatique.src='automatique2.gif';"
    		onmouseout="document.automatique.src='automatique.gif';"
    		onclick="auto_debut();">
    		<img id="automatique" src="automatique.gif" alt="btn_automatique"/></a>
     
    		<!-- Temporisation-->
    		<div>
    			<input type="radio" name="temps" id="temps_1" value="1" checked="checked"/>Rapide
    			<input type="radio" name="temps" id="temps_2" value="2"/>Normal
    			<input type="radio" name="temps" id="temps_3" value="3"/>Lent
    		</div>
     
    		</div>
     
    	</div>
     
     
    	<!-- Changement d'image au clique-->
    	<div class="center">
    		<a href="javascript:;"
    		onclick="suivante();">
    		<img width="950" height="732" id="image_1" src="1.jpg" alt="Paris"/></a>
    	</div>
     
     
    	<div class="center">
     
    		<!-- Bouton precedent-->
    		<a href="javascript:;"
    		onmouseover="document.precedent.src='precedent2.gif';"
    		onmouseout="document.precedent.src='precedent.gif';"
    		onclick="precedente();">
    		<img id="precedent" src="precedent.gif" alt="btn_precedent"/></a>
     
    		<!-- Bouton stop-->
    		<a href="javascript:;"
    		onmouseover="document.stop.src='stop2.gif';"
    		onmouseout="document.stop.src='stop.gif';"
    		onclick="stop_auto();">
    		<img id="stop" src="stop.gif" alt="btn_stop"/></a>
     
    		<!-- Bouton suivant-->
    		<a href="javascript:;"
    		onmouseover="document.suivant.src='suivant2.gif';"
    		onmouseout="document.suivant.src='suivant.gif';"
    		onclick="suivante();">
    		<img id="suivant" src="suivant.gif" alt="btn_suivant"/></a>
     
    	</div>
     
    </body>
     
    </html>

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Le problème semble venir de la déclaration du script dans ma page XHTML. En effet, lorsque je l'enlève, ma page s'affiche correctement mais sans de javascript évidemment. Quelqu'un saurait quelle est la syntaxe correcte pour déclarer un script sous IE mais tout en respectant la norme XHTML Strict. Merci !

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    je ne sais pas si ça peut t'aider mais pour tracer, j'avais trouvé une bibliotheque de fonction javascript libjs qui contient un debug.js très pratique. Il suffit de la linker dans ton source et pour tracer on l'active par Trace.Activer(); puis on fait des traces avec Trace.Ecrire("variable X"+varX+"<br>"); pour surveiller une variable ou tout simplement savoir ou ça plante avec des Trace.Ecrire("1");
    Cette fonction affiche une fenetre dans laquelle apparait le trace.

    l'adresse : http://perso.wanadoo.fr/aymeric.sabi...t/accueil.html

    j'avais ton genre de probleme avec un appel de fonction qui faisait tout planter sous IE et qui marchait parfaitement sous FF a cause d'un appel document.body.scrollTop

  8. #8
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par solp
    <script type="text/javascript" src="script_diapo.js"/>
    IE pas content!!!!!! Pas de balise script auto-fermantes dans IE!!!!!!!

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Merci mais j'ai trouvé la source du problème. Explorer n'accepte pas l'attribut "name" et il est nécessaire de le remplacer par "id". On utilise ensuite la fonction getElementById dans le script pour accèder à l'élément ! Et pas de balise script auto fermante comme l' a dit denisC!!

Discussions similaires

  1. compatibilité de script entre navigateurs
    Par chicolagryf dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/09/2011, 19h02
  2. Compatibilité entre navigateur
    Par mama07 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/05/2008, 12h04
  3. Comment tester la compatibilité du code dans les navigateurs
    Par altecad dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 14/08/2007, 16h58
  4. Réponses: 2
    Dernier message: 10/05/2007, 17h12
  5. Compatibilité code entre Access 97 et 2003
    Par HP2103 dans le forum Access
    Réponses: 15
    Dernier message: 26/01/2007, 13h39

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