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 :

Rafraichissemant CSS dans une Iframe


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut Rafraichissemant CSS dans une Iframe
    Bonjour à tous,

    Avant tout je tiens à dire que mon besoin s'applique à un fichier hta
    (HTML Application) du coup : Pas de PHP (Niette la pseudo-frame et les variable PHP...)

    donc j'en reviens à l'utilisation des Iframes.

    mon projet est relativement simple, je construit un générateur CSS, du coup une fois que j'ai sélectionné les parametres de mon generateur,
    j'appuis sur un bouton qui est censé creer un fichier CSS (ça pas de prob.) et afficher un exemple dans une I-frame. (c'est là que ça coince)

    là problème, j'arrive bien à rafraichir la partie HTML du fichier mais le rafraichissement CSS ne se fait pas.

    methode utilisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("exemple").src="./result.htm";
    j'ai essayer d'inclure dans le <head> du fichier result.htm ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <meta http-Equiv="Cache-Control" Content="no-cache">
    <meta http-Equiv="Pragma" Content="no-cache">
    <meta http-Equiv="Expires" Content="0">
    rien

    j'ai essayer d'inclure dans le <head> du fichier result.htm ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META http-equiv="Refresh"  content="10">
    là ça passe mais le rechargement fait remonter l'assenceur(de l'iframe) à chaque rafraichissement... franchement pas pratique...

    je suis partis sur une autre piste qui consiste à créer une balise nouvelle <link> là encore, début de résultat mais ça ne marche qu'une fois si on re-clique plus rien.

    (puisse qu'il se retrouve avec plusieurs balise <link> seule la derniere s'applique soit la premiere creer !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     var cssLink = document.createElement("link");
     cssLink.href = "./css/custom.css"; 
     cssLink.rel = "stylesheet"; 
     cssLink.type = "text/css"; 
     document.getElementById("exemple").appendChild(cssLink);
    problème j'arrive pas à détruire la balise <link> dans mon Iframe !!!
    j'ai essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      var d=document.getElementById("exemple").getElementsByTagName('link')[0]; 
    d.parentNode.removeChild(d);
    mais il me met une erreur style "impossible d'afficher la valeur de la propriété ParentNode"

    Du coup ma question :

    1 - auriez vous plus simple que la suppression/création de balises pour faire le boulot ?
    2 - Sinon, auriez vous un moyen de détruire cette balise link dans l'iframe ?

    bon j’espère que j'ai été suffisamment clair...
    merci d'avance...

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    un time stamp en paramètre get de l'url ?

    sinon ton css est externe ?
    c'est sur le fichier css qu'il faut mettre le no cache

    Si tu peux,colle un htaccess precisant la non mise en cache de ton fichier css
    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é

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    J'ai l'impression que tu fais trop compliqué.

    Je ferais plus simple à ta place, si tu le permets je vais laisser du code faire une partie de l'explication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="monscript.php" target="monIframe">
    <input type="submit" value="envoyer" />
    </form>
    <iframe name="monIframe"/>
    Note bien : target="monIframe".

    Ensuite dans monscript.php je ferais dans cet ordre.

    1) (ob_start, header) générer le fichier css (write, ob_flush, ob_clean)
    2) (header) envoyer en sortie la page html (qui fait référence au css) (ob_end_flush)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    <link type="text/css" href="./usercss/0a456d42f.css" media="all"/>
    ...
    </head>
    ...
    </body>
    Après, faudra considérer le nettoyage des fichiers css n'étant plus employés.

  4. #4
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    Citation Envoyé par sergejack
    Ensuite dans monscript.php je ferais dans cet ordre.

    1) (ob_start, header) générer le fichier css (write, ob_flush, ob_clean)
    2) (header) envoyer en sortie la page html (qui fait référence au css) (ob_end_flush)
    oui mais malheureusement :
    Citation Envoyé par moi
    Avant tout je tiens à dire que mon besoin s'applique à un fichier hta
    (HTML Application) du coup : Pas de PHP (Niette la pseudo-frame et les variable PHP...)

  5. #5
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    sinon ton css est externe ?
    c'est sur le fichier css qu'il faut mettre le no cache
    heu ça va parraitre tres idiot mais je le met ou ???

    Si tu peux,colle un htaccess precisant la non mise en cache de ton fichier css
    je connais mal l'utilisation des htaccess mais sauf erreur de ma part sans serveur (php ou autre) derrière il ne sera pas utiliser si ?
    un time stamp en paramètre get de l'url ?
    et changer de fichier CSS à chaque fois ??? pas vraiment convaincu... mais bon si je ne trouve rien de mieux je me pencherais sur cette solution.

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    je connais mal l'utilisation des htaccess mais sauf erreur de ma part sans serveur (php ou autre) derrière il ne sera pas utiliser si ?
    tu n'as pas de serveur pour tes pages web ?????????????????
    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é

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Tu n'as pas la main sur le code php ?

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

Discussions similaires

  1. [HTML 4.0] Utilisation de CSS / js dans une iFrame
    Par DavidDx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/06/2012, 18h11
  2. Héritage css et js d'une IFRAME dans une IFRAME
    Par mkrzemin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 20/05/2011, 00h05
  3. modifier le css dans une balise iframe
    Par psycoma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/08/2009, 14h28
  4. [ifrmaes]Charger une page dans une iframe
    Par Destampy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/05/2005, 15h54
  5. Valider un formulaire contenu dans une iframe
    Par snoopy5.0 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2005, 11h14

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