Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Comment changer dynamiquement le contenu d'une iframe en xul

Envoyé par : Utilisateur anonyme

Date : 06/02/2005 18:43

voilà mon problème :

(...)
<vbox>
 <textbox id="mytext" value="text" />
 <button label="voir"  />
 <splitter />
 <iframe id="myframe" name="myframe" src="about:blank" />
</vbox>
(...)

dans le bouton "voir", je rajouterais qqch comme

onclick="document.getElementById('myframe').value=document.getElementById('mytext').value;"

je sais que c'est pas correct mais j'y arrive pas...

En gros, je voudrais pouvoir taper du code html dans mytext et pouvoir afficher le résultat dans la iframe en cliquant sur le bouton "voir"

merci d'avance

# Re: Comment changer dynamiquement le contenu d'une iframe en xul

Envoyé par : Utilisateur anonyme

Date : 06/02/2005 22:19

onclick="document.getElementById('myframe').src=document.getElementById('mytext').value;"

en remplaçant ton premier value par un src, ça devrait mieux marcher.

# Marche po :.-(

Envoyé par : Utilisateur anonyme

Date : 07/02/2005 03:48

voici le fichier xul complet avec la modif conseillée :

<?xml version="1.0" encoding="UTF-8"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 <vbox>
  <textbox id="mytext" value="text" multiline="true" />
  <button label="voir" onclick="document.getElementById('myframe').src=document.getElementById('mytext').value;" />
  <splitter />
  <iframe id="myframe" name="myframe" src="about:blank" />
 </vbox>
</window>

j'ai beau tester en tapant dans mytext puis sur voir :

coucou

ou

<h1>coucou</h1>

ou encore

<html><head></head><body><h1>coucou</h1></body></html>

ça ne fonctionne toujours pas ! sniff

Au fait, la propriété .src n'est-elle pas utilisée dans la même optique que pour img en html c-a-d contenant/recevant une url ?

Le pire, c'est que la console javascript n'y trouve rien d'anormal.

PS. Merci pour la réponse, mais testes le script et dis-moi quoi, stp...

PPS. j'utilise Firefox; des fois que ce serait le problème...

# Re: Marche po :.-(

Envoyé par : Utilisateur anonyme

Date : 07/02/2005 08:18

excuse moi, j'avais mal lu ta question. Tu ne peux pas insérer du code html dans un iframe. Il doit obligatoirement être lié à une url.

# Je fais comment alors ?

Envoyé par : Utilisateur anonyme

Date : 07/02/2005 16:00

Que dois-je utiliser pour obtenir l'effet escompté ? (Voir le rendu d'un code html éditer ... )

Parce que là, je suis perdu ...

Sur le net, j'étais tomber sur un fichier xul qui permettait de tester du code xul en live un peu comme j'essaye de le faire pour du html, mais, je ne le retrouve plus T__T.

# Re: Comment changer dynamiquement le contenu d'une iframe en xul

Envoyé par : Lapinator

Date : 08/02/2005 15:15

J'ai la solution :)

iframe = document.getElementById('iframe');

// Pour changer tout le contenue de la frame
iframe.contentWindow.document.body.innerHTML = "<html><body><h1>Nouvelle Page</h1></body></html>";

// Modifier dynamiquement le contenue d'un <div id="zone"> dans la frame
iframe.contentWindow.document.getElementById('zone').innerHTML = "<p>Blablabla</p>";

Note 1 : Attention ce code ne marche que dans le chrome://

Note 2 : On peut remplacer "contentWindow.document" par "contentDocument"

# Que faut-il faire pour utiliser chrome:// ?

Envoyé par : Utilisateur anonyme

Date : 09/02/2005 00:31

Que faut-il faire pour utiliser chrome:// ?

Je suis désolé de poser cette bête question de débutant mais je n'ai

  • soit pas compris comment le faire en lisant la doc
  • soit pas trouvé où l'explication se trouve dans la doc

Dois-je

  • mettre le fichier dans le répertoire chrome de firefox (ou de mon profile) ?
  • changer qqch dans le fichier chrome.rdf ?
  • utiliser une archive JAR ?
  • juste taper chrome://test.xul ?

Donc, j'ai mon fichier test.xul, j'en fait quoi pour l'utiliser avec chrome:// ?

car quand je tape

firefox -chrome chrome://test.xul

test.xul se trouvant dans path-to-firefox/chrome ça ne donne rien !!! même pas une fenêtre qui s'ouvre... alors que firefox a démarré

par contre je sais lancer le fichier en tapant comme url resource:///chrome/xulfr-test.xul mais j'obtiens la même erreur que quand je lance le fichier XUL via file://...

Erreur : uncaught exception: Permission refusé de créer une classe enveloppante pour un objet de la classe UnnamedClass

encore désolé de poser ce genre de question et merci d'avance pour votre réponse

PS j'ai retrouvé le site de test de xul mais ce n'est pas fait en xul : page web avec 2 frames dont une en xul généré : Real-time XUL Editor

# Re: Comment changer dynamiquement le contenu d'une iframe en xul

Envoyé par : laurentj

Date : 09/02/2005 12:00

Pour que tes fichiers soient accessibles via le chrome :

  • il faut que tes fichiers soient dans un repertoire contenant un fichier contents.rdf, déclarant le contenu de ce répertoire
  • Ce répertoire doit être déclaré dans la registry chrome
    • soit manuellement en modifiant le fichier chrome/installed-chrome.txt, (relancer le navigateur aprés modif), méthode utilisé pour le développement (on déclare en fait manuellement une extension)
    • soit automatiquement, en réalisant un fichier xpi (extension).

tu ne pourra jamais faire directement chrome://fichier.xul : il faut bien que le chrome sache dans quelle extension aller la chercher. donc tu auras toujours chrome://tonextension/<où>/<quoi>. <où> étant "content", "locale", "skin" en général et <quoi> le fichier à charger.

Je te recommande de relire impérativement le tutoriel pour des infos complémentaires (tout est dans le chapitre 1)

# Un grand MERCI

Envoyé par : Utilisateur anonyme

Date : 09/02/2005 12:48

un grand MERCI à tous/toutes pour votre aide ;-)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.