|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||||
|
Membre éclairé
![]() Inscription : octobre 2005 Messages : 427 ![]() |
Bonjour,
Je ne sais pas si je poste dans la bonne section, mais les rares postes XUL que j'ai vu étaient ici alors... Voilà, je dois sur un petit projet d'extension pour Thunderbird afficher du html dans une fenêtre XUL. Code :
Code :
Erreur*: préfixe non lié à un espace de noms Fichier Source*: chrome://menu/content/sig.xul Ligne*: 1, Colonne*: 1 Code Source*: <html:table style='border:0px;'><html:tr><html:td><html:b>bob</html:b></html:td></html:tr><html:tr><html:td></html:td></html:tr><html:tr><html:td></html:td></html:tr><html:tr><html:td></html:td></html:tr></html:table> J'ai essayé de rajouter le xmlns directement sur l'élément table, mais je me retrouve toujours avec l'erreur de l'insertion et une erreur : Entité non définie... Si quelqu'un a tenté un truc aussi peu habituel, et a une idée, je suis preneur... (En fait j'ai le même problème quand j'insère du XUL :/) Est-ce que le passage de ma chaine de caractère en élément XML n'est pas la bonne méthode? Y'a t'il une fonction pour créer un arbre xul?
__________________
Linio |
||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : octobre 2005 Messages : 427 ![]() |
Bon, et bien j'ai trouvé une solution, je la mets si ça intéresse quelqu'un.
En gros on passe plutôt le xmlns du xul sur un nom différent : Code :
<xul:window xmlns="http://www.w3.org/1999/xhtml" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="blabla"> <div id="final"> </div> Et dans le javascript, on fait comme on ferait en html (avec .innerHTML = machaine). C'est le moyen le plus simple que j'ai trouvé, même si ça pose quand même des contraintes.
__________________
Linio |
|
|
10
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Nicolas DelaforgeInscription : avril 2008 Messages : 12 ![]() |
Si tu utilises le namespace html, il faudra préfixer tes balises xul de xul:*, sinon il faut préfixer les balises html de html:*.
Côté javascript, insérer des éléments issus d'un autre namespace que le NS par défaut en Javascript, il faut utiliser les fonctions suffixées NS comme document.createElementNS. Attention, il faut utiliser l'URI complète du namespace et pas seulement son préfixe que l'interpréteur JS ne reconnaîtra pas. Par exemple : Code :
document.createElementNS("http://www.w3.org/1999/xhtml","div");
Cela dit pour l'exemple, je ne vois vraiment pas l'intérêt d'utiliser du HTML pour faire du texte en gras, alors que XUL permet d'exploiter les styles CSS. Il suffit de créer l'élement XUL suivant : Code :
<xul:description value="mon label" style="font-weight:bold;"/> Code :
<xul:description class="boldface" value="mon label"/> en JS cela donnerait un truc du genre : Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com