AppName Firefox/Netscape

Résolu
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 - 30 juin 2009 à 11:58
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 1 juil. 2009 à 11:26
Bonjour à tous!

J'ai une question toute bête je suis sur a propos de la fonction navigator.appName qui renvoit le nom du navigateur utilisé.
Quand je suis sous internet explorer pas de probleme la fonction me renvoie "Microsoft Internet Explorer". Mais quand je suis sous firefox (3.0.10), la fonction me renvoie "Netscape". Est-ce normal ?? Il me semble qu'il s'agit de 2 navigateurs différents !!

Cordialement.

10 réponses

@karamel Messages postés 1854 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 8 avril 2024 153
30 juin 2009 à 13:28
bonjour
c'est normale il peut etre preferable d'utiliser userAgent
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
30 juin 2009 à 14:00
Bonjour,
>>Est-ce normal ??
je ne sais pas, mais c'est comme ça !
d'autant que certains navigateurs permettent de s'identifier
             comme étant un autre navigateur !!!!!
             je ne sais plus si c'est vrai, mais avec opera, par exemple,
             on pouvait faire croire qu'on était avec internet explorer !
tout dépend de ce que tu veux faire.....
et ne pas répondre distinguer les navigateurs ! je viens de t'expliquer
    qu'ils étaient capables de se faire passer l'un pour l'autre
    ( ou lycée de Versailles )
Cordialement [mon Site] [M'écrire] Bul
3
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 1
30 juin 2009 à 15:20
Je viens de tester userAgent...
Pour internet explorer voici ce qu'il me retourne (notez la présence assez bizarre de "Mozilla") : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR
2.0.50727)
Pour Firefox : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10

Ok on trouve bien "Firefox" quand on utilise Firefox (logique, non ? ) mais cela dit l'utilisation de userAgent est plutôt pénible donc à ne pas utiliser d'après moi.

Si on a juste besoin de différencier Internet explorer des autres navigateurs, la meilleure méthode que j'ai trouvée est celle-ci :     var ie false; /*@cc_on ie true; @*/
    if (ie)
    {
        //on est sous IE
    }
    else
    {
        //on n'est pas sous IE
    }

Bul3 il me semble que c'est toi qui a proposé cette méthode dans un de tes posts. Alors merci !!

Pour finir le sujet, appName est à utiliser avec des pincettes !

[SUJET TERMINE - MERCI A VOUS ]

Vive les forums !
Romain
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
30 juin 2009 à 15:27
certes... et ça fonctionne nickel

on peut aussi tester si la fonctionnalité existe
ce qui plus "fin" et nécessaire parfaois au lieu de simplement IE ou pas !

if ( élément.attachEvent)
        élément.attachEvent("onclick", siClick);
else  élément.addEventListener("click", siClick, false);
par exemple.

mais si c'est uniquement pour dire quel est le navigateur
utilisé par le visiteur : rien de fiable !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 1
30 juin 2009 à 15:46
Pourquoi est-ce plus fin ta dernière fonction ? Moi tout ce que je vois c'est que ca fait des lignes en plus !!
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
30 juin 2009 à 16:04
d'un coté on teste IE ou pas,
de l'autre on teste si la fonctionnalité existe ou pas
    des fonctionnalités existent avec Opera et IE et pas sous FF.
    ( pour ne citer qu'un exemple )
    tester IE ou pas ne sera pas suffisant dans ce cas.
mais bien entendu, ça dépend donc de ce qu'on fait !
0
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 1
30 juin 2009 à 16:42
En fait mon problème vient des fonctions liées au gestionnaire d'événements que tu utilises et que je ne connais pas.
Dis moi si je comprends bien (j'ai fait quelques recherches ) :

if ( élément.attachEvent) -> si on est sous IE
        élément.attachEvent("onclick", siClick); -> a l'événement "onclick" on attribue la fonction "siClick" (pour IE)
else  élément.addEventListener("click", siClick, false); -> a l'événement "onclick" on attribue la fonction "siClick" (pour Firefox)

élément doit etre une balise html genre un ou un
(mais je crois qu'avec body ce n'est pas possible).

Pour l'instant je ne vois pas bien l'intérêt mais bon... ca viendra !!

Vive les forums !
Romain
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 juil. 2009 à 06:46
c'était une exemple, et même s'il avait été bidon, ce n'était pas bien grave.

mais, tu as presque tout compris : on ajoute bien
le traitement de onclick à un élément html.
on ajoute ! on n'écrase pas celui qui existerait déjà !

   

   

    <script>

        document.getElementById("toto").onclick=function() { alert('2') ; };

        function siClick()

        {    alert('2');    }

        var e=document.getElementById("tata");

        if ( e.attachEvent)

                e.attachEvent("onclick", siClick);

        else  e.addEventListener("click", siClick, false);       

    </script>


clique sur 'toto' : 1
clique sur 'tata' : 1 puis 2

il est d'ailleurs bidon pour notre discussion, car opera = FF sur ce coup là je pense
mais dans d'autres circonstances...
et il y a d'autres navigateurs !
0
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 1
1 juil. 2009 à 11:01
ok cool ! c'est sur avec un petit exemple c'est mieux
petit erreur d'inattention sans doute : toto renvoie 2.
donc si j'ai bien compris...
document.getElementById("toto").onclick=function() { alert('2') ; };  ->permet d'assigner une nouvelle fonction sur le clic du bouton en écrasant la précédente
function siClick(){    alert('2');    } (et ce qui suit) ->->permet d'assigner une nouvelle fonction sur le clic du bouton en n'écrasant pas la précédente(il y a donc 2 fonctions exécutées)

Ben je viens d'apprendre un truc là ! Merci !

En plus je ne savais pas qu'on pouvait mettre des éléments d'un script en dehors d'une fonction (je n'ai peut etre pas suivi assez attentivement les cours de mon prof... )

Vive les forums !
Romain
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 juil. 2009 à 11:26
tu as tout pigé

ma probable erreur de frappe aussi

@+
0
Rejoignez-nous