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

NetBeans Java Discussion :

[Visual Web] [SJSC]Comment appeler un CSS particulier en fonction du navigateur


Sujet :

NetBeans Java

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 52
    Points : 53
    Points
    53
    Par défaut comment appeler un CSS particulier en fonction du navigateur
    J'ai une appli qui fonctionne bien avec FireFox et IE7.
    J'utilise un CSS avec des % et avec position: fixed.

    Le problème est que j'ai des clients qui n'ont pas le droit d'utiliser firefox et n'ont pas le choix de leur version d'explorer.

    Avec IE6, c'est la cata. J'ai créé un autre CSS pour remplacer les % par des pixels et j'ai remplacé position: fixed par position: absolute.
    J'obtiens un résultat pas terrible (j'ai un bandeau vide que je n'arrive pas à supprimer) mais au moins l'appli est utilisable.

    Je sais détecter en javascript la version du browser mais je ne sais pas comment appliquer un CSS particulier à une page VWP?


    Merci
    Val

  2. #2
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 52
    Points : 53
    Points
    53
    Par défaut Comment garder les commentaires qui figurent dans un fichier .jsp dans le html généré
    J'ai trouvé sur le net qu'Internet Explorer interpretait
    les commentaires du style:
    <!--[if IE]>
    <link type="text/css" rel="stylesheet" href="styles-ie.css" />
    <![endif]-->


    De ce fait, j'ai mis dans mon fichier .jsp les instructions suivantes

    <ui:head binding="#{pages$ISIView.head1}" id="head1">
    <ui:link binding="#{pages$ISIView.link1}" id="link1" url="/resources/css/isiview.css"/>
    <!--[if IE 6]>
    <ui:link binding="#{pages$ISIView.link1}" id="link1" url="/resources/css/isiview-ie6.css"/>
    <![endif]-->
    ....
    </ui:head>


    Mais cela ne fonctionne pas.
    En regardant, le code source de la page html générée, je me suis appercu que les commentaires avait été supprimés?

    Comment puis-je garder les commentaires?
    J'ai essayé en vain avec le tag verbatim
    Merci
    Val

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Première suggestion ...
    Si tu arrives à détecter la version du browser du client, tu pourrais alors binder le paramètre "styleclass" (de tes composants concernés par le changment de CSS) à un attribut du backing bean (la classe java) de ta page.

    Je m'explique . Pour un composant donné, au lieu de mettre par défaut un nom de classe CSS dans le champ styleclass (ou ce qui revient au meme écrire styleClass="monCSS" dans le tag de ton composant dans la page JSP) ; tu devrais d'abord créer un attribut (et ne pas oublier le getter et setter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private String CSS = new String();
    Puis utiliser les fonctionnalités de l'edi pour faire le binding entre tes composants et l'attribut CSS crée ou alors directement ajouter dans la balise de la page JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    styleClass="#{Page1.CSS}"
    Apres, si tu réussis à détecter la version du browser du client (en examinant la rquete http par exemple ou avec une fonction javascript je sais pas trop ...) tu n'as plus qu'a définir l'attribut CSS qui convient dans une des fonctions executees avant l'affichage de la page ( le init() du backingbean par exemple).

    Voila j'espere que ca te donnera une piste pour commencer ...

  4. #4
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 52
    Points : 53
    Points
    53
    Par défaut
    Merci, je n'avais pas pensé à cela.

    J'ai ajouté une propriété dans mon sessionBean1.

    <ui:link binding="#{pages$ISIView.link1}" id="link1" url="#{SessionBean1.isiviewCSS}"/>


    Pour la detection du browser, j'ai mis le code ci-dessous dans SessionBean1.init()

    HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();

    // browser detection
    String browser = req.getHeader("User-Agent");
    browser = browser.toLowerCase();
    int index = -1;
    index = browser.indexOf("msie");
    boolean isIE6 = false;
    if (index >= 0)
    {
    int end = browser.indexOf(";",index+4);
    String version = browser.substring(index+4,end).trim();
    float v = Float.parseFloat(version);
    if (v < 7)
    isIE6 = true;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment appeler un widget depuis une fonction
    Par Thierry {-|-o dans le forum Tkinter
    Réponses: 3
    Dernier message: 02/01/2008, 23h23
  2. Réponses: 6
    Dernier message: 30/09/2005, 00h53
  3. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/09/2005, 12h21
  4. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/09/2005, 12h04
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

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