[geeklog-devel] Dynamic Comments...

Justin Carlson justin.carlson at gmail.com
Mon Jan 31 17:54:58 EST 2005


It looks like it works well.

I do not see myself using it, and definitely request it to be optional.



On Mon, 31 Jan 2005 21:44:03 +0100, Niels Leenheer <niels at creatype.nl> wrote:
> Vincent Furia wrote:
> 
> >I'm working on getting it past the prototype stage.  While it (just)
> >works now, I need to do some modifications to make it integrate
> >cleanly and to not be embarrassed by my code.  Hopefully I'll have it
> >checked into CVS in the next couple days.
> >
> >
> Vincent, great idea!
> 
> However, I can see a couple of problems with the code you are currently
> using.
> 
> First of all, you are using a single XMLHttpRequest object without
> protecting
> it from being called more than once. As a result it is possible to
> interrupt an
> ongoing request. Try clicking on quickly on multiple triangles after
> each other,
> without waiting for one to finish loading. Only the request clicked on
> last will
> be honoured, the other ones will be 'loading' indefinately.
> 
> The solution to this problem would be to use an array and push each
> request in it. Then use a timer to frequently look at this array, shift
> one request of the bottom and execute it. Repeat until the array is
> empty...
> 
> Secondly, there is a bug in the XMLHttpRequest implementation of Opera,
> which basically requeres and extra check inside the onreadystatechange
> function, otherwise it will be called multiple times after each other,
> but only the first time with the proper responseText.
> 
> var inprogress = false;
> 
> function loadFragmentInToElement(fragment_url, element_id) {
>    var element = document.getElementById(element_id);
>    element.innerHTML = '<img src="/images/dynwait.gif"
> alt="Loading..."/>Loading ...';
>    xmlhttp.open("GET", fragment_url);
>    xmlhttp.onreadystatechange = function() {
>        if (inprogress == true && xmlhttp.readyState == 4 &&
> xmlhttp.status == 200) {
>            inprogress = false;
>            element.innerHTML = xmlhttp.responseText;
>        }
>    }
>    xmlhttp.send(null);
>    inprogress = true;
> }
> 
> Niels
> --
> www.rakaz.nl
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-devel
>



More information about the geeklog-devel mailing list