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 :

Fonction avec 3 switch ou if else selon le navigateur employé


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut Fonction avec 3 switch ou if else selon le navigateur employé
    bonsoir a tous
    je cheche a avoir 3 choix possible dans une fonction une sorte de switch selon le navigateur employé
    selon le navigateur changer de methode
    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
    function insertimg2(){
       var isChrome = !!window.chrome && !!window.chrome.webstore;
       var isFirefox = typeof InstallTrigger !== 'undefined';
       var isIE = /*@cc_on!@*/false || !!document.documentMode;
     
    alert("IE= " +isIE + "   Firefox= "+isFirefox+ "    Chrome= "+isChrome);
    //methode pour chrome
       var selection =window.getSelection().getRangeAt(0);
       selection.collapse(true);//au cas ou la selection contient du texte on met le start et end a zero avec collapse pour ne pas remplacer le texte
       window.getSelection().addRange(selection);             
       choixfichier.click();var add=choixfichier.value;   
       var baliseimg = document.createElement("img");
       baliseimg.src=add;
       baliseimg.width=300;
       selection.insertNode(baliseimg);
     
    //methode pour IE mise en commentaire 
       // il est important de determiner la selection (meme vide) sinon l'insertion se fait sur tout le document et remplace tout 
       //var selection = window.getSelection().getRangeAt(0);
      // selection.collapse(true);//au cas ou la selection contient du texte on met le start et end a zero avec collapse pour ne pas remplacer le texte
       // window.getSelection().addRange(selection); // garde la selection active             
       //l'avantage de execCommand c'est qu'il ouvre sa propre petite fenetre avec un bouton "parcourir" 
       //possibilité de regler dans cette fenetre l'alignement et le hspaces le src a  l'url du fichier local tel quel
       //document.execCommand("insertimage",null,null);
     
     
     
    }
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    comprend pas la question
    tu cherche à déterminer quel type de navigateur est utilisé ? => if(navigator.userAgent.indexOf('MSIE')) ..... ou Modernizr

    tu cherche à connaître une approche algorithmique pour gérer ce type de probleme ?

    Est-ce les autres navigateurs sont à exclure ? (Vivaldi, Safari,... ils doit en exister des dizaines...)


    Est-ce que tu cherche à déterminer en fonction de l'interpréteur Javascript ou du moteur de rendu des pages HTML ?
    et suivant leurs version ?

    Est-ce tu a songé à html5Shiv ou à un simple css reset ?

    etc.. ???

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir psychadelic

    toutes fonctions qui sont et seront presentes dans le wysiwyg ne seront compatible que IE chrome firefox bien que pour le dernier je n'ai pas confirmation
    j'ai trois variable isie,ischrome,isfirefox


    dans la fonction selon si l'une ou l'autre est a true un code s'executera c'est tout donc coment faire ca
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Je vois pas trop ce que veux dire «*wysiwyg*» dans ton contexte à toi, mais passons.

    A te lire, il semblerai possible que plus d’une de tes 3 variables soit à true, auquel cas il y aurai une priorité entre eux*??

    Sinon je ne vois pas trop la difficulté*:
    Code JavaScript : 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
    function bidule() {
    	if ( isIE ) {
    		// code spécifique pour le cas IE
     
     
    		return; // a la rigueur ça évite de faire des bétises de code
    	}
    	if ( isFirefox  ) {
    		// code spécifique pour le cas  isFirefox
     
    		return;
    	}
    	if ( isChrome  ) {
    		// code spécifique pour le cas isChrome
     
    		return; 
    	}
    }

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour psychadelc
    j'avais essayé cela et ca plante tout le wysiwyg ne se construit meme plus

    je vais laisser cette question en suspens je ferais les adaptations"chrome" apres il y a trop de différence peut etre ferais je 2 fichiers plutot que des adaption dans des if else qui n'en finissent plus
    merci pour le retour
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Ok, relance quand tu voudra..

    mais je ne vois pas trop comment un if ( isIE ) { peut tout faire planter. ?

    Qu'est que donnait ton alert("IE= " +isIE + " Firefox= "+isFirefox+ " Chrome= "+isChrome);
    en ligne 6 sur ton premier post ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. souci fonction avec if et else
    Par chantalina dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2010, 06h27
  3. Réponses: 3
    Dernier message: 05/09/2006, 00h47
  4. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 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