Archive for May, 2006

Reserved ids in IE/Win

May 15th, 2006 by Aaron N.

found this burried in a recent ajaxian post:

Reserved ID Values?

As a followup to my entry about id=”tags” causing problems in IE/Win, here are four five test pages for IE/Win:

These are based on Kevin Hamilton’s observation that it’s highly likely the problems are caused by the tags method in IE/Win’s document.all DOM interface. As he says:

[I]f you have an element with an id=’tags’, then document.all.tags is now a reference to that element, and no longer a method of the document.all object.

Such states would completely shatter any IE DOM scripting that relied on the document.all methods, and at least in the case of tags causes problems like crashing on print (probably because of the aforementioned conflict between the ID value and the DOM method). The other keywords of concern are chronicled in the test pages listed above. I’d test IE/Win myself, except I don’t have a printer handy for IE/Win to use, and besides, bug-hunting is best conducted in large groups.

Here’s the rest of the article and the test patterns and how to use them.

XmlHttpRequest Debugging for IE

May 15th, 2006 by Aaron N.

via ajaxian:

Julien Couvreur has once again made his mark on the Ajax world – first with the release of the widely-used Ajax debugger for Firefox (using Greasemonkey) and now with his latest – a bookmarklet for IE containing a port of the same script. Read the rest of this entry »

Protected: Javascript Standards Group Wiki

May 15th, 2006 by Aaron N.

This content is password protected. To view it please enter your password below:

60 More AJAX Tutorials from Max

May 10th, 2006 by Aaron N.

via Ajaxian (where else?):

In a follow-up to this popular post from Max Kiesler, he’s collected 60 more Ajax tutorials from all around the web and for developers of all skill levels.

Among those on the list this time, there’s things like:

  • AJAX Chat Tutorials
  • AJAX Client-Server Communication Tutorials
  • AJAX Forms and Autocomplete Tutorials
  • AJAX Activity Indicator Tutorials
  • AJAX General Tutorials

Under most of the category headers, there’s a few different tutorials listed, with the added benefit of coming at things from more than one perspective. Of course, again, he doesn’t claim to have a comprehensive listing of these tutorials (I don’t think that’s even possible), so any additions you might want to make to the list are always appreciated.

Rocky Shoals of Ajax Development

May 10th, 2006 by Aaron N.

via ajaxian:

Alex Bosworth has written a lot on practicalities of Ajax including quirks. His latest piece details the Rocky Shoals of Ajax Development in which he discusses:

Browser Quirks and Limitations

  • MLHttpRequest can’t access remote server
  • Multiple Ajax Requests are not fired in order
  • Asynchronous XMLHttpRequests responses will arrive in no particular order
  • XMLHttpRequest does not requires the use of XML
  • Ajax uses UTF-8
  • Ajax requests are url encoded
  • XMLHttpRequest cannot transmit files
  • Firefox: Synchronous XMLHTTPRequests lock up Firefox
  • IE: XMLHTTPRequest Objects are not reused in IE
  • IE doesn’t use cached images when Javascript inserts HTML with images
  • IE: Closures with circular references in IE cause memory leaks
  • IE: Avoiding aggressive caching in IE
  • IE corrupts gzipped javascript files
  • IE doesn’t cache gzipped Javascript files

Really Easy Field Validation with Prototype

May 10th, 2006 by Aaron N.

via ajaxian:

Late last week I was working on a content submission form, and thinking about a good way to add unobtrusive validation using Prototype, similar to what the guys at Particle Tree have talked about in a couple articles earlier. I liked the approach the articles took and went looking for any libraries doing the same thing built on top of Prototype.

Enter Really Easy Field Validation. It lets you do the following with your form elements, using the class attribute to indicate what kind of validation is needed (assumes Prototype 1.5, included with Script.aculo.us 1.6.1):

[html][/html]

Then tell the library about your form:

[js]new Validation(‘form-id’);[/js]

This will check that “field1″ is populated and is a valid number onsubmit, and also onblur if you pass the immediate: true option into Validation. I was able to wire up my form with this in about five minutes, getting nice faded in error messages onblur with about two lines of code and the additional classes. I then added my own validator to count the number of words in a text area, which was also simple to add. CSS hooks makes it easy to style the error message to match your theme. The one thing that I really missed was being able to provide my own effects for the display and hide of the error messages – the “options” hook isn’t there yet but should be pretty easy to add.

THe author has provided a simple demo, and the latest version available for download is 1.2.1. Overall, a nice, clean library for quick unobtrusive validation with Prototype.

DWR version 2.0 milestone 2: Write Javascript using Java

May 4th, 2006 by Aaron N.

Along the same lines as my haXe post here’s an update to DWR that means you aren’t writing javascirpt directly anymore. Via Ajaxian.

Milestone 2 contains some great new features like Annotation based configuration and a customization to allow Reverse Ajax to use Jetty Continuations.

It also contains an experimental new feature to let you write Javascript using a Java API. Read on for how it works and why it can allow you to do some neat things. Read the rest of this entry »

haxe – an open source programming language for the web

May 4th, 2006 by Aaron N.

A developer friend of mine recently turned me on to haXe (pronounced “HAX-ee”, a sort of generic programming language that gets compiled into java, php, active script (flash), javascript, etc. This means you write all your code in one language (haXe) and then compile it to whatever application language you want. If it spits out javascript, for example, it delints it (no white spaces or comments) and renames all the name spaces to short (abstract) variable names to create the smallest file possible. Because you’re authoring everything in haXe, the compiler runs like any other compiler, helping to ensure your code will execute. I’m not sure how it works if you want to use 3rd party libraries (I’m thinking about things like Scriptaculous), but it sounds very, very promising. I’d love to see some more qualified folks than myself evaluate it. Read the rest of this entry »