Discard from this question. I found the solution! Yay! Foreningen Selvet - Jesper Staun Hansen wrote: > I am getting really impatient about this problem as I cant seem to solve > it :O! > Does anyone have a complete script I can look at using Greasymonkeys > version of the XMLHttpRequest downloader "and put it in a iframe and > evaluate it" script. > > I'm running out of ideas here. > > > Greets. > > Tommi Rautava wrote: > >> The DOMContentLoaded event is sent after close(), so it should be >> enough if the listener is added just before >> iframe.contentDocument.close(). >> >> 2007/8/8, [EMAIL PROTECTED] <[EMAIL PROTECTED]>: >> >> >>> Interesting. The only comment I'll make is you should add >>> iframe.contentDocument.addEventListener() *before* writing >>> the responseText into the IFRAME otherwise, under race conditions, I could >>> see you missing the DOMContentLoaded event. >>> >>> >>> >>> ----- Original Message ---- >>> From: Foreningen Selvet - Jesper Staun Hansen <[EMAIL PROTECTED]> >>> To: Mozdev Project Owners List <project_owners@mozdev.org> >>> Sent: Wednesday, August 8, 2007 7:21:47 AM >>> Subject: Re: [Project_owners] evaluate html document by XMLHttpRequest >>> >>> So, the trick here would be to throw all of the code into iframe and >>> define it as text/html and then parse it? >>> Guess I think I got it right. >>> >>> >>> Tommi Rautava wrote: >>> >>> >>>> The problem is that you cannot parse HTML with XML parser. I struggled >>>> with the same problem some time ago and the best solution I have found >>>> so far is the HTML parser example made by Aaron Boodman (the original >>>> author of Greasemonkey): >>>> http://youngpup.net/userscripts/htmlparserexample.user.js >>>> >>>> br, Tom >>>> >>>> 2007/8/7, Foreningen Selvet - Jesper Staun Hansen <[EMAIL PROTECTED]>: >>>> >>>> >>>> >>>>> Hello. >>>>> >>>>> >>>>> I am having some trouble using element.evaluate(properties) with >>>>> documents fetched with XMLHttpRequest, so I am looking for a method to >>>>> do the same as this: >>>>> >>>>> //***** >>>>> var roundinfo = { >>>>> runde : "56", >>>>> heroesid : null, >>>>> heroesnick : null >>>>> } >>>>> >>>>> var path = '//table/tbody/tr/td'; >>>>> var obj = document.evaluate(path,document,null, >>>>> XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, >>>>> >>>>> >>> null); >>> >>> >>>>> for (var k = 0; k < obj.snapshotLength; k++) { >>>>> obj2 = obj.snapshotItem(k).parentNode; >>>>> var nodes = obj2.childNodes; >>>>> >>>>> dump("Found keys: "+nodes.length+"\n"); >>>>> var menu = >>>>> >>>>> >>> nodes[0].textContent.trim().split("#"); >>> >>> >>>>> roundinfo.heroesnick = menu[0].trim(); >>>>> roundinfo.heroesid = menu[1].trim(); >>>>> dump("Nick is: "+roundinfo.heroesnick+"\n"); >>>>> dump("ID is: "+roundinfo.heroesid+"\n\n"); >>>>> } >>>>> //***** >>>>> >>>>> And the document contains this: >>>>> >>>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> >>>>> <html> >>>>> <head> >>>>> <title></title> >>>>> </head> >>>>> <body> >>>>> <table> >>>>> <tr> >>>>> <td colspan="3"><font face="arial" size="1" >>>>> >>>>> >>> color="DarkTurquoise">Axe Decapitators #130303</font></td> >>> >>> >>>>> </tr> >>>>> >>>>> >>>>> </table> >>>>> </body> >>>>> </html> >>>>> >>>>> And the dump would be >>>>> >>>>> Nick is: Axe Decapitators >>>>> ID is: 130303 >>>>> >>>>> And I tried some things to make it with XMLHttpRequest: >>>>> //******* Attemp: >>>>> var req = new XMLHttpRequest(); >>>>> req.overrideMimeType('text/html'); >>>>> req.open('GET', >>>>> 'http://www.URL_TO_FETCH_CONTAINING_THE_ABOVE_CODE.dk', >>>>> >>>>> >>> true); >>> >>> >>>>> req.onreadystatechange = function () { >>>>> if (req.readyState == 4) { >>>>> if(req.status != 404) { >>>>> var path = '//table/tbody/tr/td/font'; >>>>> var domParser = new DOMParser(); >>>>> var dom = domParser.parseFromString(req.responseText, >>>>> "text/xml").documentElement; >>>>> >>>>> var obj = >>>>> >>>>> >>>>> >>> dom.evaluate(path,dom,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, >>> null); >>> >>> >>>>> for (var k = 0; k < obj.snapshotLength; k++) { >>>>> obj2 = obj.snapshotItem(k).parentNode; >>>>> var nodes = obj2.childNodes; >>>>> >>>>> dump("Found keys: "+nodes.length+"\n"); >>>>> var menu = >>>>> >>>>> >>> nodes[0].textContent.trim().split("#"); >>> >>> >>>>> roundinfo.heroesnick = menu[0].trim(); >>>>> roundinfo.heroesid = menu[1].trim(); >>>>> dump("Nick is: "+roundinfo.heroesnick+"\n"); >>>>> dump("ID is: "+roundinfo.heroesid+"\n\n"); >>>>> } >>>>> } >>>>> else >>>>> dump("Error loading page with status"+ reg.status >>>>> >>>>> >>> +"\n"); >>> >>> >>>>> } >>>>> }; >>>>> req.send(null); >>>>> >>>>> >>>>> But this only results in this: >>>>> Error: syntax error >>>>> Source File: chrome://browser/content/browser.xul >>>>> Line: 1, Column: 62 >>>>> Source Code: >>>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 >>>>> >>>>> >>>>> >>> Transitional//EN">-------------------------------------------------------------^ >>> >>> >>>>> Any tips on how to do this "right"? >>>>> >>>>> >>>>> >>>>> My regards. >>>>> >>>>> _______________________________________________ >>>>> Project_owners mailing list >>>>> Project_owners@mozdev.org >>>>> http://mozdev.org/mailman/listinfo/project_owners >>>>> >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> Project_owners mailing list >>>> Project_owners@mozdev.org >>>> http://mozdev.org/mailman/listinfo/project_owners >>>> >>>> >>>> >>>> >>>> >>> _______________________________________________ >>> Project_owners mailing list >>> Project_owners@mozdev.org >>> http://mozdev.org/mailman/listinfo/project_owners >>> >>> >>> _______________________________________________ >>> Project_owners mailing list >>> Project_owners@mozdev.org >>> http://mozdev.org/mailman/listinfo/project_owners >>> >>> >>> >>> >> _______________________________________________ >> Project_owners mailing list >> Project_owners@mozdev.org >> http://mozdev.org/mailman/listinfo/project_owners >> >> >> >> > > > _______________________________________________ > Project_owners mailing list > Project_owners@mozdev.org > http://mozdev.org/mailman/listinfo/project_owners > > >
_______________________________________________ Project_owners mailing list Project_owners@mozdev.org http://mozdev.org/mailman/listinfo/project_owners