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 :

[HTML Javascript] Préserver les style d'un document.writeln


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut [HTML Javascript] Préserver les style d'un document.writeln
    Salut,

    j'aimerais savoir comment peut-on préserver les styles issus d'un fichier CSS dans un WriteLine javascript...
    Dans ma balise body je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body OnLoad="MaFonctionWriteLn()">
    où ma fonctionMaFonctionWriteLn() est chargée en extrayant des paramètres de l'adresse href d'écrire dans le document à des endroits bien précis à l'aide de variables locales...
    le problème c'est que les styles ne sont pas appliqués
    par exemple, voici un bout de mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [...]
    maString="<table><tr><td class=StyleTruc height=47 width=724 colspan=4><hr>" + MaVariableTexte + "</td></tr></table>";
    [...]
    document.writeln(maString);
    C'est le style "StyleTruc" qui n'est pas appliqué alors que dans mon doc est bien écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="../../messtyles/stylepage.css" rel=stylesheet type=text/css>
    de toute façon, ces styles fonctionnent puisque je les exploite dans une autre page.

    Pouvez-vous me dire comment je peux procéder pour que la mise en forme se fasse avec mon CSS ?
    J'ai même essayé de les copier dans le doc lui-même, mais ça ne change rien...

    Merci par avance

  2. #2
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    Salut

    euh j'ai provisoirement solutionné mon problème en greffant des balises à la place des mais je suis ouvert à toute proposition concernant cette possibilité.

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ton writeln charge une nouvelle page, exempte de toute css! comment veux-tu que les styles soient conservés?

  4. #4
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    Citation Envoyé par javatwister
    ton writeln charge une nouvelle page, exempte de toute css! comment veux-tu que les styles soient conservés?
    Bonjour

    Merci pour cette remarque/réponse...
    Je m'en doute mais, j'ai bien mis cette référence dans mes <HEAD>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="../../messtyles/stylepage.css" rel=stylesheet type=text/css>
    Pourquoi il sait lire le OnLoad de la balise BODY (D'ailleurs, je ne comprends pas non plus pourquoi il ne sait pas attribuer mon BGCOLOR="#988EB1" de la balise BODY ...) et pas link href de la balise HEAD ?

    Comment t'y prendrais-tu alors toi ?
    Moi, ce que je souhaite, c'est ouvrir cette page et que du texte change dynamiquement dedans en fonction de ce que lui passe... Je comprends le principe mais pas le fonctionnement en toute apparence.

    Merci d'avoir répondu

  5. #5
    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
    pourquoi fais tu un writeln ?

    passe plutot par un innerHTML ou encore un createElement ...
    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 !

  6. #6
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    Re,

    Ben parce que je sais pas faire autrement.
    Le but est simple, j'ai une série d'image dans une page sous forme de mosaic et je clique sur une des images.
    Là, une page s'ouvre avec l'image agrandie et le texte qu'il l'accompagne plus deux trois information en plus et dans la page il y a un lien pour fermer et revenir, c'est tout.

  7. #7
    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
    deux possibilités selon moi:

    un popup et tu y colles ton image et ton texte

    un div qu tu passe de display:none à display:bloc
    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 !

  8. #8
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    aucun rapport avec write
    tu mets la charrue avant les boeufs en voulant à tout prix utiliser une méthode plutôt qu'en cherchant les méthodes pour atteindre ton but;

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ouvre une page prédéfinie (agrandissement.htm);
    insère ton image proprement dans le corps de cette page;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mon_image.onclick=function(){
    win2=window.open("agrandissement.htm","grand");
    var adr=this.src.replace(".jpg","b.jpg");
    var im=document.createElement("img");
    im.src="adr";
    var texte=liste_de_textes[indice_de_mon_image];
    win2.document.getElementById("conteneur_image").appendChild(im);
    win2.document.getElementById("conteneur_texte").appendChild(texte);
    }

  10. #10
    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
    c'est comment dirais-je ...
    pâtissier ?
    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 !

  11. #11
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    merci javatwister.
    j'ai pas bien compris... en testant ton code j'ai une erreur
    this.src est une valeur null ou n'est pas un objet

  12. #12
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    si mon_image est bien une image définie, il n'y aura pas d'erreur;

  13. #13
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    Euh, oui, pour toi peut-être...
    C'est comme tous les gens qui maitrisent leur truc, il ont l'impression que ce qu'il expliquent est compréhensible.
    moi, je suis pas super à l'aise avec ce... langage...
    voilà ce que j'ai écrit pour la page de test:
    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
    <html>
     
    <head>
    <title>Essai</title>
    </head>
     
    <script>
    function MaFonction()
    { 
    	win2=window.open("agrandissement.htm","grand"); 
    	var adr=this.src.replace(".jpg","b.jpg"); 
    	var im=document.createElement("img"); 
    	im.src="adr"; 
    	//**** var texte=liste_de_textes[indice_de_mon_image]; 
    	win2.document.getElementById("conteneur_image").appendChild(im); 
    	//**** win2.document.getElementById("conteneur_texte").appendChild(texte); 
    }
    </script>
     
    <body>
     
    <img border="0" 
    		 src="inspecteur.jpg" 
    		 width="99" 
    		 height="120"
    		 onclick="MaFonction()">
    </body>
    </html>
    et ça pour "agrandissement"
    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
    <html>
     
    <head>
    </head>
     
    <body>
     
    	<div id="conteneur_image" style="width: 311; height: 380">
     
    	</div>
    	<div id="conteneur_texte" style="width: 311; height: 10">
     
    	</div>
     
    </body>
     
    </html>
    Dans ma racine j'ai une tite image (inspecteur.jpg) et une grande (inspecteurb.jpg)...
    je sens que je vais me faire jeter

  14. #14
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    nan nan, t'en es pas loin!
    c'est juste que j'avais prévu le code pour un nombre x d'images;

    pour garder ton code, passe simplement this en paramètre;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img onclick="MaFonction(this)" />
    et dans la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function MaFonction(obj){
     
    // et tu peux remplacer "this" par "obj";
     
    }

  15. #15
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    ravie de savoir que j'étais pas loin
    mais je maîtrise pas trop les tableaux en zavascript d'où mes REM devant les conteneurs texte
    j'ai fait les modifs et j'ai une autre erreur
    win2.document.getElementById("conteneur_texte").appendChild(texte) est une valeur null ou n'est pas un objet
    décidément, je suis pas douée

  16. #16
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    Bon, c'est pas grave...
    Je me débrouille autrement parce même avec ta réponse, javatwister, ça ne résound pas mon problème de CSS.
    Je garde mes <font style=""> pour l'instant.

    Merci pour vos réponses

  17. #17
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 16
    Par défaut
    Bonjour,

    J'ai fini par trouver...
    En fait, je créée une nouvelle instance de la page à chaque clic sur mon image thumbnail qui faisait appel à l'instruction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.writeln(maString);
    Mais pour exploiter mon CSS, il fallait aussi spécifier le chemin du CSS dans mon document.writeln()...
    Ce qu je n'avais pas compris, c'était que la totalité de la page était générée. C'est en regardant le code source de la page que j'ai compris.

    Maintenant ça marche impécablement bien.
    Merci à ceux qui se sont intéressés à mon problème.

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

Discussions similaires

  1. [VBA - W] fusion de documents word + garder les styles
    Par schuitonzo dans le forum VBA Word
    Réponses: 6
    Dernier message: 16/04/2011, 11h37
  2. Réponses: 1
    Dernier message: 17/03/2008, 20h29
  3. [javascript] Filtrer les copiés / collé HTML
    Par genova dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/06/2006, 15h06
  4. Comment supprimer les commentaires d'un document Html?
    Par visteur dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2006, 11h58
  5. appliquer les styles d'un document à un autre
    Par Mr N. dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 28/09/2005, 14h32

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