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 :

Actualisation Perte du styleSheet


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut Actualisation Perte du styleSheet
    Bonjour,
    Mon problème concerne uniquement IE sous FF aucun soucis.

    Je fais une détection du navigateur en JS. Je viens donc ajouter dans le header la balyse styleSheet avec le lien et tout se qui vas avec.
    J'utilise cette methode pour ajouter la balise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function SetCss(Lien) {
    	var fileref=document.createElement("link");
    	fileref.setAttribute("rel", "stylesheet");
    	fileref.setAttribute("type", "text/css");
    	fileref.setAttribute("href", Lien);
    	document.getElementsByTagName("head")[0].appendChild(fileref);
    }
    Mon soucis, c'est que sous IE à l'actualisation de la page je perds le styleSheet (du moins c'est ce que j'en déduis car certains éléments disparaissent... Mais pas tous... c'est bisard).
    Je vous donne un lien vers la page, en gros vous allez sur le site aucun soucis, vous pouvez naviguer en cliquant sur les différentes rubriques, mais si vous appuyez sur la touche F5 ou que vous actualisez, le fond du texte disparait...
    Une explication?
    http://georges86.free.fr/SiteFrancoise/Index.php
    Merci beaucoup

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    a quel moment colles tu ta balise lien pour le style ?
    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 éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Salut,
    Dans le header avec Si tu veux voir mon head :

    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
    <HTML>
    <HEAD>
    	<script type="text/javascript" src="Scripts/Navigateur.js"></script>
     	<script type="text/javascript" src="Scripts/NavBar.js"></script>
    	<script type="text/javascript" src="contact/verification_formulaire.js"></script>
    	<link rel="stylesheet" type="text/css" href="css/StyleEditor.css" /> 
    <script type="text/javascript"> 
     window.onload = function() { Navigateur(); }
    </script>
     
    <!--[if IE 6]>
    <script src="Scripts/DD_belatedPNG.js"></script>
    <script>
    	DD_belatedPNG.fix('ul, li, a');
    </script>
    <![endif]-->
     
    <!--[if lte IE 8]>
    <script type="text/javascript" src="Scripts/roundies.js"></script>
    <![endif]-->
    <style type="text/css">
    	#navigation li a.H2E{color: rgb(255,242,75);}
    	#navigation li a.H2E:hover{color: rgb(255,242,75);}
    	</style>
    </HEAD>
    La fonction navigation fait partie du fichier Navigation.js déclaré précédemment.
    La page charge bien le css mais après je ne comprends pas se qui se passe à l'actualisation...

    Merci de votre aide.

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    fais le sur le onload du body ?
    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 éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    J'avais testé et j'ai le meme problème...

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    je ne vois pas le lien entre la fonction navigateurs et ton ajout de style ...
    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 éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Le lien entre la fonction navigateur et le stylesheet c'est tout simplement que je charge un css pour IE et un css pour les autres navigateurs. J'ai donc besoin d'identifier le navigateur pour charger le bon fichier...

  8. #8
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    oui cela je m'en doute bien ??,
    la question est ou le fait la fonction navigateurs ?
    ou se fait l'appel de l'inclusion ?
    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 !

  9. #9
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Voici mon script Navigateur.js :
    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
    function Navigateur(){
    	var IE = false;
    	var AUTRE = false;
    	var intSplitStart = navigator.userAgent.indexOf("(",0);
    	var intSplitEnd = navigator.userAgent.indexOf(")",0);
    	var strChStart = navigator.userAgent.substring(0,intSplitStart);
    	var strChMid = navigator.userAgent.substring(intSplitStart, intSplitEnd);
    	var strChEnd = navigator.userAgent.substring(strChEnd);
    	if ((strChMid.indexOf("MSIE 8") != -1) || (strChMid.indexOf("MSIE 7") != -1) || (strChMid.indexOf("MSIE 6") != -1)){
    		SetCss("css/StyleIE.css");
    	} else {
    		SetCss("css/Style.css");
    	}
    }
     
    function SetCss(Lien) {
    	var fileref=document.createElement("link");
    	fileref.setAttribute("rel", "stylesheet");
    	fileref.setAttribute("type", "text/css");
    	fileref.setAttribute("href", Lien);
    	document.getElementsByTagName("head")[0].appendChild(fileref);
    }
    Pour voir ou se fait l'appel de cette fonction, voir le post #3

  10. #10
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Je viens de vérifier et si j'inclus directement mon css dans le header (sans l’intégrer dynamiquement via javascript) et bien aucun soucis lors du refresh de la page...

    Donc JS me fait des blagues sous IE...
    SpaceFrog peut être que j'ai mal répondu à une de tes questions, si tu veux, détails moi plus la question et je t’expliquerais de mon mieux !

    Merci,
    Bonne nuité !

Discussions similaires

  1. Perte de données après actualisation de page
    Par nssarah dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/01/2013, 09h28
  2. Perte d'enregistrements
    Par AnnSo dans le forum Paradox
    Réponses: 15
    Dernier message: 06/08/2006, 23h39
  3. [CR7]Actualisation des données depuis VB
    Par elifqaoui dans le forum SDK
    Réponses: 4
    Dernier message: 24/11/2003, 13h44
  4. Perte du contenu des blobs
    Par macakou99 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/05/2003, 15h17
  5. [UDP][Socket] perte de paquets et arret d'ecoute sur port
    Par Guismo1979 dans le forum Développement
    Réponses: 6
    Dernier message: 02/01/2003, 12h13

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