Don't leave out the Yahoo YUI library as something to consider. Whats nice is that you don't have to load the entire library as one big huge js file - you can pick and choose what libraries you want to include in your page minimizing the javascript filesize. If you want to have one little js widget on you page - the browser doesn't need to download and process a 150kb prototype js file.
Andrew
> -----Original Message-----
> From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
> Jonathan Rochkind
> Sent: Thursday, November 29, 2007 10:24 AM
> To: [log in to unmask]
> Subject: Re: [CODE4LIB] httpRequest javascript.... grrr
>
> These days I think jquery seems more generally popular than prototype.
> But both are options. I definitely would use one or the other, instead
> of doing it myself from scratch. They take care of a lot of weird
> cross-browser-compatibility stuff, among other conveniences.
>
> Jonathan
>
> Jesse Prabawa wrote:
> > Hi Eric,
> >
> > Have you considered using a Javascript Library to handle these
> details? I
> > would recommend that you refactor your code to use one so that you
> can
> > concentrate on what you actually want to do instead. This way you can
> also
> > avoid having browser incompatabilities that are already solved if you
> use a
> > Javascript Library. Try checking out Prototype at
> > http://www.prototypejs.org/
> >
> > Best regards,
> >
> > Jesse
> >
> > On Nov 29, 2007 10:21 PM, Eric Lease Morgan <[log in to unmask]> wrote:
> >
> >
> >> Why doesn't my httpRequest Javascript function return unless I add
> an
> >> alert? Grrr.
> >>
> >> I am writing my first AJAX-y function called add_tag. This is how it
> >> is suppose to work:
> >>
> >> 1. define a username
> >> 2. create an httpRequest object
> >> 3. define what it is suppose to happen when it gets a response
> >> 4. open a connection to the server
> >> 5. send the request
> >>
> >> When the response it is complete is simply echos the username. I
> know
> >> the remote CGI script works because the following URL works
> correctly:
> >>
> >> http://mylibrary.library.nd.edu/demos/tagging/?
> >> cmd=add_tag&username=fkilgour
> >>
> >> My Javascript is below, and it works IF I retain the "alert
> >> ( 'Grrr!' )" line. Once I take the alert out of the picture I get a
> >> Javascript error "xmldoc has no properties". Here's my code:
> >>
> >>
> >> function add_tag() {
> >>
> >> // define username
> >> var username = 'fkilgour';
> >>
> >> // create an httpRequest
> >> var httpRequest;
> >> if ( window.XMLHttpRequest ) { httpRequest = new
> XMLHttpRequest(); }
> >> else if ( window.ActiveXObject ) { httpRequest = new
> ActiveXObject
> >> ( "Microsoft.XMLHTTP" ); }
> >>
> >> // give the httpRequest some characteristics and send it off
> >> httpRequest.onreadystatechange = function() {
> >>
> >> if ( httpRequest.readyState == 4 ) {
> >>
> >> var xmldoc = httpRequest.responseXML;
> >> var root_node = xmldoc.getElementsByTagName( 'root' ).item( 0
> );
> >> alert ( root_node.firstChild.data );
> >>
> >> }
> >>
> >> };
> >>
> >> httpRequest.open( 'GET', './index.cgi?cmd=add_tag&username=' +
> >> username, true );
> >> httpRequest.send( '' );
> >> alert ( 'Grrr!' );
> >>
> >> }
> >>
> >>
> >> What am I doing wrong? Why do I seem to need a pause at the end of
> my
> >> add_tag function? I know the anonymous function -- function() -- is
> >> getting executed because I can insert other httpRequest.readyState
> >> checks into the function and they return. Grrr.
> >>
> >> --
> >> Eric Lease Morgan
> >> University Libraries of Notre Dame
> >>
> >> (574) 631-8604
> >>
> >>
> >
> >
>
> --
> Jonathan Rochkind
> Digital Services Software Engineer
> The Sheridan Libraries
> Johns Hopkins University
> 410.516.8886
> rochkind (at) jhu.edu
|