Kilka dni temu rozpocząłem zabawę z XUL i natknąłem się na problem, który nie daje mi spać. Mam aplikację, która wyświetla stronę z jakiegoś serwera i chcę policzyć liczbę słów (tutorial ze stron http://www.ibm.com/developerworks/web/library/wa-xul1/ i http://www.ibm.com/developerworks/web/library/wa-xul2/).
Niestety nie mogę dobrać się do elementów z tej strony, gdyż za każdym razem pokazuje mi brak dostępu. Przetestowałem kilkanaście przykładów, ale efekt ciągle był ten sam

Poniżej załączam kod. Będę bardzo wdzięczny za wszelką pomoc.
- Kod: Zaznacz cały
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="statswindow" title="View Web page stats">
<vbox flex="1">
<script type="application/x-javascript" src="stats.js"/>
<hbox>
<label value="Enter a URL:"/>
<textbox id="url" flex="1" value="http://viable.pl"/>
<button label="Go!" oncommand="change_url(event)"/>
</hbox>
<description value="Current page:"/>
<hbox flex="1">
<browser id="contentview" src="http://onet.pl" type="content-primary" flex="1"/>
</hbox>
</vbox>
</window>
Część z tego co próbowałem:
- Kod: Zaznacz cały
function change_url(event)
{
//1
//var browser = document.getElementById('contentview');
//var doc = browser.webNavigation();
//2
//var mainWindow = //myBrowser.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
//.getInterface(Components.interfaces.nsIWebNavigation)
//.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
//.rootTreeItem
//.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
//.getInterface(Components.interfaces.nsIDOMWindow);
//3
//var editingSession = //myBrowser.webNavigation.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIEditingSession);
//myBrowser.contentDocument.designMode = 'on';
//var editor = //editingSession.getEditorForWindow(myBrowser.contentWindow);
//var commandManager = //myBrowser.webNavigation.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsICommandManager);
//var htmlEditor = //editor.QueryInterface(Components.interfaces.nsIHTMLEditor);
//4
//Use Firefox XPath to get the raw text of the document
//var doctext = contentview.contentDocument.evaluate(
//"string(.)", document, null, XPathResult.STRING_TYPE, //null).stringValue;
alert("done");
}