On Fri, Jun 20, 2014 at 12:49:24PM -0700, Kevin Carhart wrote: > > hi Chuck, > > I think this syntax: > >javascript:__doPostBack('ctl00$ctl13$LoginButton','') > > is a microsoft aspx trying to do ajax. I don't know what to do, but I'm > interested in figuring it out and am (still) working on it. Yeah, I've run into it a few times. > I had an idea for how to support pages with ajax. I wonder what Karl, Chris > & Adam think of this? I'm interested in bringing in information from the > javascript debugger that is available as part of spidermonkey. jsdbgapi.c > is like the JSAPI only with ways of addressing stack frames - I think? > > So I think if you are running Chuck's site and stepping through moments in > time, you would eventually hit a stack frame that contained all the > parameters to doPostback, all assembled and ready to go (hopefully). A > 'step' command would work neatly with the CLI. If a full URL is sitting > there in memory just for one step's worth of time before being sent to an > ajax routine as a parameter, we could grab it, browse it and work with the > output. So we don't have to "support ajax" if we can deconstruct ajax and > do what the ajax would do, but turn-based and CLI rather than constant, > chatty network activity for little bits, and with a graphical bias. What do > you think? I suspect if you're a js expert it'd be possible, however it'd be difficult at best due to the way ajax js is usually constructed. In addition, I've never seen the debugger in the new js version (that's not to say it's not there), and my general instinct is not to rely on things like this. At the end of the day if someone told me I had to debug all the js to get the ajax parameters, then enter them manually and then hope it works, I'd probably tell them no thanks. However, I like the idea of finding a CLI-friendly way to do ajax. I think something like the edbrowse timer behavior may be a possible approach. First of all we need code to allow js to do http, and then we can construct the ajax machinary around this. Cheers, Adam.