Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] mozilla interfaces and swt.browser widget


Hi Vladimir,

(note that swt usage questions like this should be asked on the eclipse.platform.swt newsgroup, not this mailing list)

XPCOM error 0x80004002 is NS_NO_INTERFACE, so your line that's failing seems to have an error.  I don't think that using nsIAccessNode is necessary, the snippet below works for me:

nsIWebBrowser webBrowser = (nsIWebBrowser) browser.getWebBrowser();
nsIDOMDocument document = webBrowser.getContentDOMWindow().getDocument();
nsIDOMHTMLDocument htmlDocument = (nsIDOMHTMLDocument)document.queryInterface(nsIDOMHTMLDocument.NS_IDOMHTMLDOCUMENT_IID);
nsIDOMHTMLElement element = htmlDocument.getBody();
nsIDOMNSHTMLElement nsHtmlElement = (nsIDOMNSHTMLElement)element.queryInterface(nsIDOMNSHTMLElement.NS_IDOMNSHTMLELEMENT_IID);
String bodyContent = nsHtmlElement.getInnerHTML();

Grant




Vladimir Spiridonov <vlads@xxxxxxxx>
Sent by: platform-swt-dev-bounces@xxxxxxxxxxx

09/17/2007 04:26 AM

Please respond to
Vladimir Spiridonov <vlads@xxxxxxxx>; Please respond to
"Eclipse Platform SWT component developers list."        <platform-swt-dev@xxxxxxxxxxx>

To
platform-swt-dev@xxxxxxxxxxx
cc
Subject
[platform-swt-dev] mozilla interfaces and swt.browser widget





Hello, all!

I am trying to get the content of document.body element in SWT.BROWSER widget
According http://www.xulplanet.com/references/xpcomref I wrote such code (this is the most
relevant part):

...

Browser browser = new Browser(shell, SWT.MOZILLA);
nsIWebBrowser webBrowser = (nsIWebBrowser) browser.getWebBrowser();
nsIDOMNSDocument nsHtmlDocument = (nsIDOMNSHTMLDocument)webBrowser.getContentDOMWindow().
                        getDocument().queryInterface(nsIDOMNSHTMLDocument.
               NS_IDOMNSHTMLDOCUMENT_IID);
nsIDOMHTMLBodyElement body = (nsIDOMHTMLBodyElement) htmlDocument.
                  getBody().queryInterface(
                          nsIDOMHTMLBodyElement.
                          NS_IDOMHTMLBODYELEMENT_IID);
nsIAccessNode accessNode = (nsIAccessNode)body.queryInterface(nsIAccessNode.NS_IACCESSNODE_IID);
String bodyContent = accessNode.getInnerHTML();
...

But while querying nsIAccessNode interface i get an exception
org.mozilla.xpcom.XPCOMException: The function "QueryInterface" returned an error condition  
(0x80004002)
Whether my approach is incorrect or problem consist in internal realization of swt.browser?

Thank in advance


--
Best regards,
Vladimir                          mailto:vlads@xxxxxxxx

_______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev


Back to the top