Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

# XPCOM et focus()

Envoyé par : Utilisateur anonyme

Date : 20/07/2005 13:31

Bonjour à tous.

Je suis débutant en XUL, et j'ai un léger soucis avec un des tutoriaux de XULfr. Dans la partie "Gestion des fenetres" de ce tutorial, le code ne marche pas chez moi.

J'accède bien à l'application via une URL chrome, et la liste des fenêtres ouvertes s'affichent au niveau du menu. Mais lorsque je clique dessus, aucun focus, rien. Le plus bizarre, c'est que le script rentre dans la boucle

if (switchwindow){
   switchwindow.focus();
}

(je vérifie en envoyant un 'alert'). Il semble que quelque chose ne marche pas avec la méthode focus.

Avez-vous une idée ?

Merci.

# Re: XPCOM et focus()

Envoyé par : chBok

Date : 20/07/2005 19:11

Je viens de tester le script du tuto. Je te rassure, il fonctionne mais pas tel quel. Il faut que la partie javascript soit encapsulée dans une balise <script> et que le XUL soit lancé en adresse chrome:// pour des raisons de sécurité

(j'ai eu peur un moment avoir raté un test dans le tuto ;) )

Voilà ce que j'ai mis, juste après la balise <window> :

<script>
<![CDATA[
function switchFocus(elem)
{
 var mediator =  Components.classes["@mozilla.org/rdf/datasource;1?name=window-mediator"].getService();
  mediator.QueryInterface(Components.interfaces.nsIWindowDataSource);

  var resource = elem.getAttribute('id');
  switchwindow = mediator.getWindowForResource(resource); 

  if (switchwindow){
    switchwindow.focus();
  }
}
]]>
</script>

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.