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 :

fonctions javascript ne fonctionnent pas sous Safari 3.1.*


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut fonctions javascript ne fonctionnent pas sous Safari 3.1.*
    Bonjour à tous,

    Je suis actuellement entrain de refaire le site internet d'une entreprise et je teste sur différents navigateurs. J'ai un problème avec Safari 3.1. Toutes mes fonctions javascript ne fonctionne pas alors que javascript est bien activé dans les préférences. Est-ce qu'il y a quelque chose de particulier à rajouter dans le script dans le cas où on navigue sur Safari ?! Je ne pense pas avoir d'erreur dans mon script car il fonctionne très bien sous firefox, IE et Opéra. Un petit avis ne serait pas refus ! Merci.

  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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    il y a des fonctions javascript non implémentées dasn safari, mais ce serait vraiment pas de boml que tu soit tombé rien que sur celles là ...

    tu aurais un ou deux exemples ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    oh bah j'ai tellement de chance que ça pourrait être ça : voici mon script
    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
     
    function ongletactif() {
     
       var urlpage = window.location;
       for (i=-1; i<document.getElementsByTagName("li").length; i++){
            if (document.getElementsByTagName("a")[i+1].href == urlpage){
    		document.getElementsByTagName("li")[i].className = 'current';
    	}
       }
    }
     
    function rubriqueactive(){
    	var doc
    	doc=document.location.href.split("?")
    	var rub=doc[1].split("=")
    			document.getElementById(rub[1]).style.backgroundColor='#fff'
    			document.getElementById(rub[1]).style.color='#000033'
    		}
     
    		var pic=new Array("","./images/pharma/pharma7.jpg","./images/pharma/pharma8.jpg","./images/pharma/pharma4.jpg","./images/pharma/pharma5.jpg","./images/pharma/pharma6.jpg"); // tableau des noms d'images
    		var delay=3 // ici 3 secondes
    		var img="image"; // ici nom de l'image a recharger
    		// fonction à appeler dans le onload de BODY
    		function RefreshIMG() {
    		  setTimeout("RefreshIMG()",delay*1000);
    		  document.images[img].src=pic[Math.floor((5)*Math.random()+1)];
    		}

  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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    alors déja :

    et


    essaye plutot

    ou
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    changements effectués mais sans résultat ! J'ai oublié de préciser que je suis débutante en javascript alors je m'excuse par avance si je ne comprends pas tout du premier coup ou si je m'explique mal.

  6. #6
    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 638
    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 638
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas safari et je ne peux pas tester...
    mais essaye de remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.images[img].src
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getELlmentById('image')
    en ayant mis un id à l'image ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    Malgré un petit weekend de réflexion et de recherche, je n'ai toujours pas trouvé la solution à mon problème ! Toutes les solutions proposées ne changent rien ! Alors si quelqu'un se sent inspiré en ce lundi matin, je suis preneuse !!

  8. #8
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Si ca plante, c'est qu'il y a une erreur ^^

    Safari ne te donne pas la ligne où elle se trouve?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    en fait c'est pas que ça plante, c'est juste que ça ne lance pas mes fonctions javascript. Ces fonctions ont juste pour but d'améliorer l'affichage en mettant en avant par exemple l'onglet actif ou en changeant la couleur de fond de la rubrique active du menu. Seulement, tous ces effets n'ont pas lieu lors de la navigation sur safari.

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    s'il ne se passe rien , dans 99% des cas tu auras un messages d'erreur ou autre , sinon essaye de rajouter ceci :

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function ongletactif() {
    try { 
       var urlpage = window.location;
       for (i=-1; i<document.getElementsByTagName("li").length; i++){
            if (document.getElementsByTagName("a")[i+1].href == urlpage){
    		document.getElementsByTagName("li")[i].className = 'current';
    	}
       }
    }
    catch(err){
    alert("Erreur : " + err.name + "\n" + "description : " + err.message + "\n" + "Ligne : " + err.lineNumber);
    }
    tu rajoutes le bloc try catch sur toute tes méthodes pour vérifier d'ou provient l'erreur
    }
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    Bon bah apparemment je fais partie du petit % qui reste !!!! J'ai mis des try catch dans chaque fonction mais Safari ne m'en dit pas plus. Pour lui tout baigne sauf qui veut pas m'exécuter mes fonctions javascript !! Si ces fonctions n'étaient pas importantes je n'insisterais pas mais là au niveau de l'affichage c'est bof bof !! Je suis totalement perplexe avec ce navigateur !! C'est la première fois que je l'utilise et c'est la dernière je crois !

  12. #12
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    peux tu nous montrer comment tu appels tes fonctions ? ???
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    [CODE]
    <script type="text/javascript">
    sfHover = function() {
    var sfEls = document.getElementById("menu").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
    sfEls[i].onmouseover=function() {
    this.className+=" sfhover";
    }
    sfEls[i].onmouseout=function() {
    this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
    }
    }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover);

    function ongletactif() {
    var urlpage = window.location;
    for (i=-1; i<document.getElementsByTagName("li").length; i++){
    if (document.getElementsByTagName("a")[i+1].href == urlpage){
    document.getElementsByTagName("li")[i].className = 'current';
    }
    }
    }



    var pic=new Array("","./images/pharma/pharma7.jpg","./images/pharma/pharma8.jpg","./images/pharma/pharma4.jpg","./images/pharma/pharma5.jpg","./images/pharma/pharma6.jpg"); // tableau des noms d'images
    var delay=3 // ici 3 secondes
    var img="image"; // ici nom de l'image a recharger
    // fonction à appeler dans le onload de BODY
    function RefreshIMG() {
    setTimeout("RefreshIMG()",delay*1000);
    document.getElementById('image').src=pic[Math.floor((5)*Math.random()+1)];
    }

    </script>
    </head>
    <body onload="RefreshIMG(); ongletactif(); rubriqueactive(); ">
    [code]


    je rappelle que je suis novice en javascript alors soyez indulgent svp !!!

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    dsl pour l'affichage du code je sais pas pourquoi ça ne marche pas bien !!

  15. #15
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    houla ... pas qu'en javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    </span><span style="color: #007700"><</span>
    balise php ouverte , puis du code html brut de pomme , puis des balises html brut de pomme

    aurais tu un exemple de ta page en ligne ??

    car au vu du code , rien de doit fonctionner ^^
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    non désolé aucune consultation en ligne possible car le site n'étant pas terminé (loin de là) l'entreprise souhaite laisser l'ancien en ligne ! en plus je ne peux meme pas le cacher sur le site en ligne car leur serveur ne semble pas interpréter le php (une vraie merveille !) . Concernant le code affiché il 'agit d'une erreur de ma part, j'ai éditer le message entre temps, regardez il n'y a que du javascript suivi de la balise body de la page html qui appelle les fonctions javascript !

  17. #17
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    dans ton code avant la déclaration des fonctions fait un Si le message ne s'affiche pas, c'est que JS n'est pas activé sur ton navigateur Safari
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    si si il est bien activé dans les préférences et coucou s'affiche bien ! Par contre, j'ai fais quelques recherches sur internet et certaines personnes parlent de fonctions qui s'écrasent ! Mais j'ai testé avec une seule fonction et ça ne marche pas non plus ! Je commence à désespérer !!

  19. #19
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    Safari, c'est le navigateur des Mac ça non ? normal que ça plante (attention, troll inside)
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 134
    Points : 57
    Points
    57
    Par défaut
    effectivement safari c'est pour mac !! je veux faire en sorte que le site soit compatible avec le maximum de navigateurs mais celui-là commence vraiment à me gonfler !! Je sens que je suis bonne pour trouver une autre solution d'affichage ne nécessitant pas l'intervention de javascript, autant dire mission impossible !!

Discussions similaires

  1. asp:Menu ne fonctionne pas sous safari
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 8
    Dernier message: 31/03/2008, 15h15
  2. [javascript] Ne fonctionne pas sur Safari
    Par sanosuke85 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/03/2007, 09h20
  3. [Javascript] Fonction qui ne fonctionne pas sous Opera et Safari
    Par frechy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/02/2007, 10h04
  4. Réponses: 4
    Dernier message: 30/11/2006, 14h33
  5. fonction ridicule qui fonctionne pas sous firefox
    Par Isses dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2006, 12h08

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