Envoyé par : Greg
Date : 27/08/2006 14:14
Bonjour, Je débute (je connais pas trop le xul, je connais pas le javascript ... ça va pas être facile)
j'essaye de me faire un petit exemple 'pour voir comment ça marche'
firefox file:///home/Moi/MesDevs/xul/menu001.xul
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin" ?> <?xml-stylesheet href="menu001.css" type="text/css"?> <?xul-overlay href="overlay/status_statusbar.xul"?> <!DOCTYPE window [ <!ENTITY windowTitle.label "M A B"> <!ENTITY catalog.label "Catalog"> <!ENTITY next.label "Next"> <!ENTITY next.tooltip "Get Next Records"> <!ENTITY clear.label "Clear"> <!ENTITY imageLarge.tooltip "Click to see the larger image"> <!ENTITY review.label "Reviews"> <!ENTITY info.label "Product Info"> ] > <window title="my project" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml" orient="vertical" width="400" height="200" > <!-- mes commentaires --> <script type="application/x-javascript" src="Functions.js" /> <menubar id="mainmenubar"> <menu id="help-menu" label="test"> <menupopup> <menuitem label="Fermer" accesskey="c" oncommand="window.close();"/> <menuitem label="Fermer 2" accesskey="a" oncommand="QuitAppli();"/> </menupopup> </menu> </menubar> [...] </box> </window>
<script type="application/x-javascript"> alert("Mes Fonctions !"); function QuitAppli() { alert("sortir"); window.close(); Components.classes['@mozilla.org/toolkit/app-startup;1'] .getService(Components.interfaces.nsIAppStartup) .quit(Components.interfaces.nsIAppStartup.eAttemptQuit); } ici une erreur </script>
box[status=intact] { background-image:url(../../Images/3d16.jpg) } box[status=touche] { background-image:url(../../Images/AvionCiel001.jpeg) }
mon problème est : j'ai l'impression que :
=> j'essaye juste de faire une fermeture de la fenêtre dans un code .js séparé
Quelle est mon erreur (erreur évidente j'imagine ....) Merci d'avance.
Envoyé par : Greg
Date : 27/08/2006 17:55
Par ailleurs j'ai intégré le .js entre balise <script></script> en remplacement de <script type="application/x-javascript" src="Functions.js" />, là cela fonctionne !
:-(
Envoyé par : Greg
Date : 27/08/2006 18:02
hum hum, j'ai trouvé
dans le .js faut mettre aucune balise, directe le code javascript ! (vraiement une connerie de débutant ...)
n'empêche que le code suivant ne ferme pas l'appli
function QuitAppli() { // ceci fonctionne alert("sortir"); Components.classes['@mozilla.org/toolkit/app-startup;1'] .getService(Components.interfaces.nsIAppStartup) .quit(Components.interfaces.nsIAppStartup.eAttemptQuit); }
Envoyé par : thefab
Date : 27/08/2006 20:19
n'empêche que le code suivant ne ferme pas l'appli
C'est normal, tu n'as pas le droit d'accéder à XPCOM (Components...) dans un fichier .xul local tu dois l'enregistrer dans le chrome.
Commence par lire ces 2 pages: http://xulfr.org/wiki/ConfigurerMozillaP(..) et http://xulfr.org/wiki/Extensions/Enregis(..)
Envoyé par : Greg
Date : 29/08/2006 06:59
thefab a écrit:
> n'empêche que le code suivant ne ferme pas
l'appli
C'est normal, tu n'as pas le droit d'accéder à
XPCOM (Components...) dans un fichier .xul local
tu dois l'enregistrer dans le chrome.
Commence par lire ces 2 pages:
[http://xulfr.org/wiki/ConfigurerMozillaPourDevelo
pper] et
[http://xulfr.org/wiki/Extensions/EnregistrementCh
rome]
Merci, je vais regarder j'aime bien le 2.4 du 1er lien :
"Elles sont indispensables si on ne veut pas tourner en rond pendant des heures à rechercher la cause d'un disfonctionnement"
Envoyé par : Greg
Date : 31/08/2006 07:33
thefab a écrit:
Commence par lire ces 2 pages:
[http://xulfr.org/wiki/ConfigurerMozillaPourDevelo
pper] et
[http://xulfr.org/wiki/Extensions/EnregistrementCh
rome]
J'ai lu et il me reste un soucis, dans mon ~/chrome/content/ j'ai un demo.xul (un kiosk, je pensais que c'était le plus simple pour commencer)
mais un
firefox -P Kiosk -console -jsconsole -chrome chrome://LicKiosk/content/demo.xul
me renvoi (dans la console javascript un truc du genre "no chrome packge registred")
$ cat home/moi/mozilla/firefox/profil Kiosk/extensions/uidAppliSansLesAccolades
/home/moi/chrome/
dans /home/moi/chrome/
cat chrome.manifest content LicKiosk /home/kiosk/chrome/content/ locale LicKiosk /home/kiosk/chrome/locale/fr-FR/ skin LicKiosk /home/kiosk/chrome/skin/ override chrome://browser/content/browser.xul chrome://LicKiosk/content/demo.xul
mai je vois pas comment lui dire de lancer demo.xul dans tous ça ?
Envoyé par : thefab
Date : 01/09/2006 16:20
Dans le fichier uidAvecAccolades (en tout cas sous Windows) tu dis qu'il se trouve dans le dossier 'moi' et dans chrome.manifest tu dis qu'il se trouve dans 'kiosk' !
Utilise des chemins relatifs dans chrome.manifest:
uidAvecAccolades
/home/moi/
Le fichier chrome.manifest doit se trouver ici: /home/moi/chrome.manifest et demo.xul ici: /home/moi/chrome/content/demo.xul
chrome.manifest
content LicKiosk chrome/content/ ...
En espérant ne pas avoir fait de fautes.
Envoyé par : Greg
Date : 02/09/2006 13:54
thefab a écrit:
Dans le fichier uidAvecAccolades (en tout cas
sous Windows) tu dis qu'il se trouve dans le
dossier 'moi' et dans chrome.manifest tu dis qu'il
se trouve dans 'kiosk' !
oui, je fait les tests avec mon user ('moi'), au final je lance la demo avec l'utilisateur 'kiosk' (j'avais peur de casser des choses sur mon login donc en fait tout se trouve dans /home/kiosk/chrome
uidAvecAccolades
j'ai fait un liens avec une version accolade, mais pas de changement
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.