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 :

SyntaxHighlighting sur windows.open


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par d�faut SyntaxHighlighting sur windows.open
    hello

    je voudrais appliquer � posteriori la fonction SyntaxHighlighter.all() sur une window ouverte sur un onclick, dont le contenu a �t� modifi�. en grous ouvrir un fichier du site avec coloration syntaxique dans une nouvelle fen�tre, rien de m�chant.

    la fen�tre OpenWindow est construite � partir d'un template relatif � l'url du site, et contient une balise avec id � modifier. Je fais cela avec $.get(theUrl, function(dataUrl) {}

    J'arrive bien � cr�er une nouvelle fen�tre avec le contenu du template, et � modifier la balise.
    Le probl�me c'est la fonction SyntaxHighlighter.all() qui
    - soit ne s'applique pas
    - soit revert le contenu modifi� de la balise

    voil� la fonction qui marche :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function brushThis(filename) {
      var theTemplateUrl=encodeURI('http://' + window.location.host + '/CV/' + "template.html");
      var theUrl=encodeURI('http://' + window.location.host + '/CV/' + filename);
      var OpenWindow = window.open(theTemplateUrl);
      OpenWindow.onload = function(){
        preToBrush = this.document.getElementById("preToBrush");
        $.get(theUrl, function(dataUrl) {
          preToBrush.innerHTML = dataUrl;
        });
        OpenWindow.onload = OpenWindow.SyntaxHighlighter.all();
      };
    }
    et voil� le template:

    Code html : 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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
    "http://www.w3.org/TR/html4/frameset.dtd">
    <!-- http://htmlhelp.com/tools/validator/doctype.html -->
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
     
    <head>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.js"></script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJScript.js"></script>
    <link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCore.css">
    <link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeDefault.css">
    </head>
     
    <body>
     
    <pre id="preToBrush" class="brush: js">
    //empty
    var aa='bb';
    </pre>
     
    </body>
    </html>

    et on l'appelle comme ceci:
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="javascript:void(0)" onclick="brushThis('path/fileToShow.js'); return false;">clickme</a>

    j'ai mis 10mn � faire cr�er le code fonctionnel avec la modif de la balise, mais pass� plus de 5 heures sur le post-apply de la fonction de highlight.
    rien � faire, quand la fonction passe le texte r�cup�r� dispara�t et je ne comprend pas pourquoi.

    besoin d'aiiiideuuuuuuu plzzzzz

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Un lien vers la librairie en question aurait �t� utile...

    https://github.com/alexgorbatchev/SyntaxHighlighter
    c'est celle l� ?


    sans trop r�fl�chir ni conna�tre la librairie, tu as essay� �a ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     $.get(theUrl, function(dataUrl) {
          preToBrush.innerHTML = dataUrl;
          OpenWindow.SyntaxHighlighter.all();
        });

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par d�faut
    oui c'est bien celle la

    et oui j'ai aussi essay� �a mais �a ne marche pas.

    en plus quand on regarde le code source de la page qui affiche bien le nouveau code (non trait�, donc), on constate qu'il est identique � la page originale.

    �a donne l'impression que quoi que l'on applique � OpenWindow �a s'applique au code original et pas � celui modifi�.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par d�faut
    FOUND !

    la r�ponse �tait : OpenWindow.SyntaxHighlighter.highlight();

    j'ai trouv� �a par hasard sur stackoverflow. Les pages d'aide de SyntaxHighlighter ne sont pas d'une grande aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. bug window.open sur ie7
    Par pchelp59 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 18/03/2009, 13h13
  2. [OpenOffice] probl�me d'installation de open office sur windows 98
    Par floche88 dans le forum OpenOffice & LibreOffice
    R�ponses: 3
    Dernier message: 26/05/2008, 11h41
  3. window.open sur un cgi
    Par Photon- dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 14/11/2007, 21h39
  4. Erreur sur un window.open lors du deuxi�me appel
    Par Mike_69 dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 02/04/2007, 09h40
  5. Probleme sur window.open
    Par iceman2001 dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 24/07/2006, 17h42

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