Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [XUL/JS] Contexte perdu après reload

Envoyé par : axel

Date : 20/12/2007 12:17

J'ai un problème avec un petit bout de code et les commandes. L'appli est simple : un bouton, à chaque clic un compteur est incrémenté et est affiché dans le label du bouton. Ceci est fait dans une extension firefox, et j'accède au fichier via l'url chrome://monextension/content/main.xul

Cela fonctionne très bien à la première utilisation. Si je recharge la page, une exception est soulevé dans la console d'erreur, au sujet d'une variable non définie. Si je ferme firefox et que je le relance, cela refonctionne de nouveau, jusqu à ce que je recharge le page.

Voici le code code simple qui "plante" chez moi : (http://pastebin.com/m40b6f0ec et http://pastebin.com/m674ba924)

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
	id="window1"
	title="Foo"
	orient="horizontal"
	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
	onload="initClicks();"
	>
	<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
	<script src="script.js"/>
	<command id="cmd_custom" oncommand="goDoCommand('cmd_custom');"/>
	<button id="button1" label="OK" command="cmd_custom"/>
</window>

Et le fichier JS correspondant :

var nbClicks = 0;
function initClicks()
{
	nbClick = 0;
	var mycontroller = 
	{
		supportsCommand : function(cmd)
		{
			isSupported = false;
			switch(cmd)
			{
				case 'cmd_custom':
					isSupported = true;
				default:
					break;
			}
			return isSupported;
		},
		isCommandEnabled : function(cmd)
		{
			isEnabled = false;
			switch(cmd)
			{
				case 'cmd_custom':
					/* some checks */
					if(42 == (40 + 2))
						isEnabled = true;
				default:
					break;
			}
			return isEnabled;
		},
		doCommand : function(cmd)
		{
			document.getElementById('button1').setAttribute('label',nbClicks++);
		}
	}
	top.controllers.appendController(mycontroller);
}

Alors, est ce un problème dans mon code ? Ou un bug de firefox ? est ce que vous avez aussi ce problème ?

# Re: [XUL/JS] Contexte perdu après reload

Envoyé par : axel

Date : 20/12/2007 13:23

Précision : l'option nglayout.debug.disable_xul_cache est à true.

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.