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

jQuery Discussion :

insertion d'un script avec append()


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut insertion d'un script avec append()
    Bonjour,

    Je souhaite pouvoir ajouter un widget netvibes sur ma page web. J'ai trouvé des infos sur Google, mais ça n'a pas vraiment résolu mon problème. J'ai fais quelques tests avec des alert() un peu partout mais rien n'y fait...

    fichier html
    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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title>ajout application</title>
    		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
     
    		<link rel="stylesheet" type="text/css" href="styles.css" />
     
    		<script type="text/javascript" src="jquery.js"></script>
    		<script type="text/javascript" src="jquery.impromptu.js"></script>
     
    		<script type="text/javascript" src="ajout_application.js"></script>
    	</head>
     
    	<body>
    		<ul id="menu">
    			<li><a href="#" id="lienAjoutContenu">Ajouter du contenu</a></li>
    			<li><a href="#" id="cacheLienAjoutContenu"><img src="close.png" alt="Masquer le menu"/></a></li>
    		</ul>
    		<ul id="ajoutContenu">	
    			<li><a href="javascript:;" onclick="ajoutFlux();">Ajouter un flux</a></li>
    			<li><a href="javascript:;" onclick="ajoutWidget();">Ajouter un widget</a></li>
    		</ul>
     
    		<div id="contenu"></div>
    	</body>
    </html>
    fichier javascript
    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
    29
    30
    function ajoutWidget(){
    	var txt = '<div class="field">' +
    				'<p>Ajouter un widget</p>'+
    				'<label for="champ_ajoutWidget">Script :</label><br/>'+
    				'<textarea type="text" id="champ_ajoutWidget" name="champ_ajoutWidget"/>'+
    			  '</div>';
    	$.prompt(txt,{ 
    		buttons:{Ok:true, Cancel:false},
    		submit: maFonctionAjoutWidget  // fonction appelée quand le prompt est validé (true) 
    	});
     
    }
     
    function maFonctionAjoutWidget() {
    	var html= $("#champ_ajoutWidget").attr("value");
    	// alert(html);
    	//$('#contenu').append('<script>alert("test");</script>');
    	$('#contenu').append(html);
    }
     
    $(document).ready(function() {
    	$("#ajoutContenu > *").hide(); // masque tous les éléments enfants du menu d'id "ajoutContenu" au chargement de la page
    	$("#lienAjoutContenu").click(function(){ // si on clique sur le lien "Ajouter du contenu"
    	   $("#ajoutContenu > *").show(); // affiche le menu d'id "ajoutContenu"
    	});
    	$('#cacheLienAjoutContenu').click(function(){ // si on clique sur la croix
    		$("#ajoutContenu > *").hide(); // masque le menu d'id "ajoutContenu"
    	});
     
     });
    Le soucis se situe dans maFonctionAjoutWidget(). Mon premier alert montre que je récupère bien ce que je veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript" src="http://www.netvibes.com/js/UWA/load.js.php?env=BlogWidget2"></script>
    <script type="text/javascript">
    var BW = new UWA.BlogWidget({moduleUrl:'http://www.parisavelo.net/netvibes.php'});
    BW.setConfiguration({'title':'Stations Vélib à Paris', 'height':178});
    </script>
    Le second me montre que les balises script fonctionne dans le append.
    Et le dernier (sensé ajouté le widget dans une div) fait tout planter la page ^^

    Est ce un problème d'interprétation de simple quote ou double quote ? J'ai testé directement le script dans le append mais cela ne fonctionne pas non plus...

    J'espère que vous situer le problème et que vous pourrez me débloquer ^^
    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
    ajouter des balises avec innertHTML, pas bien ... passe par le DOM


    sinon pour ajouter uns balise script

    sinon elle est considérée comma la balise du fermeture du script porteur...
    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 régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut
    ok pour le DOM je vais me renseigner un peu sur le sujet avant de toucher ça ^^

    par contre s'il faut décomposer la balise </script> ça ne m'arrange pas tellement... je souhaiterai pouvoir ajouter autant de widgets que possible, sans que cela soit de la "bricole" niveau utilisateur.

    de plus j'ai testé, mais ça ne fonctionne pas, après validation la page de mon navigateur devient toute blanche et il semble vouloir charger quelque chose sans y parvenir

    peut-être devrais-je faire une petite archives avec mes fichiers pour que vous puissiez voir cela ?!

    en tout cas merci de ta réponse SpaceFrog ^^"

Discussions similaires

  1. Insertion code php avec append()
    Par nico72 dans le forum jQuery
    Réponses: 44
    Dernier message: 19/10/2011, 16h59
  2. exemple de script avec autoloader
    Par djibril dans le forum Modules
    Réponses: 4
    Dernier message: 24/11/2005, 17h53
  3. insertion dans un DBGrid avec un DBNavigator
    Par jakouz dans le forum Composants VCL
    Réponses: 4
    Dernier message: 05/08/2005, 16h12
  4. Réponses: 4
    Dernier message: 02/11/2004, 15h18
  5. Script avec JOINTURE et CASE
    Par Labienus dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/02/2004, 09h40

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