Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [RESOLU] XBL probleme de "this"

Envoyé par : Fabrice

Date : 15/11/2006 14:05

Bonjour a tous, j'ai un petit probleme avec un XBL.

je cherche a instancier un mini browser pour une petite appli de test.

Un code test:

<method name="init">
<body>
<![CDATA[
this.urlbar = document.getAnonymousElementByAttribute(this,"anonid","urlbar");
this.urlbar.value = "http://www.cestuntest.test/";

this.myListener =
{
   toto: function (blabla)
   {
      alert(this.urlbar.value);
   }

mais alert ne donne rien... comment recuperer this.urlbar.value dans this.myListener ? C'est peut-être pas super clair, mais merci pour votre aide.

Fab

# Re: XBL probleme de "this"

Envoyé par : Paul Rouget

Date : 15/11/2006 14:22

this.myListener.org = this;
this.myListener =
{
  toto: function (blabla)
  {
     alert(this.org.urlbar.value);
  }

# Re: XBL probleme de "this"

Envoyé par : Fabrice

Date : 15/11/2006 15:03

Excuses moi Paul mais est-ce que tu peux détailler un peu s'il te plait car pour l'instant ça marche pas :(

merci

# Re: XBL probleme de "this"

Envoyé par : Fabrice

Date : 16/11/2006 08:02

Ok c'est bon j'ai trouvé.

voici ce qui marche dans mon cas:

<constructor>
<![CDATA[
  this.back= document.getAnonymousElementByAttribute(this,"anonid","back");
  this.browser=document.getAnonymousElementByAttribute(this,"anonid","browser");

  //le listener est très très très épuré. c'est juste pour l'example 
  this.myListener =
  {
     toto: function (blabla)
     {
        back.setAttribute("style","");
     }
  }
  browser.addProgressListener(myListener,Components.interfaces.nsIWebProgress.NOTIFY_ALL);
]]>
</constructor>

Merci Paul,

Fabrice

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.