Je ne trouve pas quel est le type de cette "xpcomInterface", et il n'y a aucune documentation de n'importe quelle classe avec ce nom. Une idée?Quel est le type de cet objet? Et où est-il documenté?
Cet extrait est le site Web de Mozilla:
var next = elements.item(i+1);
var xpcomInterface = scroll.boxObject.QueryInterface(
Components.interfaces.nsIScrollBoxObject);
xpcomInterface.ensureElementIsVisible(elements);
--update
Je trouve boxObject qui mène à nslBoxObject, mais il ne fait référence à aucune QueryInterface
tel qu'il est utilisé ci-dessus. Il y a aussi des références à xulplanet.com qui n'est plus là.
étrange, si javascript ne spécifie pas le type, pourquoi cette QueryInterface existe? ressemble à un casting inutile pour moi .. –
Parce que ces composants XPCOM ne sont pas nécessairement des objets JavaScript: * XPCOM est un modèle d'objet de composant multiplateforme, similaire à Microsoft COM. Il a plusieurs liaisons de langage, permettant aux composants XPCOM d'être utilisés et implémentés en JavaScript, Java et Python en plus de C++. * Https://developer.mozilla.org/en/XPCOM Autant que je l'ai compris, c'est plus comme un pont entre plusieurs langues. –
Ce n'est pas "couler" dans le sens traditionnel - c'est plus que ça obtient un "composant" de cet objet (voir les docs Felix mentionnés). Dans votre cas, pensez à faire quelque chose comme le suivant "pour scroll.boxObject, obtenir l'interface qu'il implémente qui s'appelle 'nsIScrollBoxObject' – pnomolos