Rob Gonda's Blog

SWF Object 2.1 Flex Template

SWF Object is an amazing script for wrapping their swf into a HTML page. For those of you using it (and you should), Oleg built a nice SWF Object template now updated for version 2.1 with supports HistoryManager and DeepLinking.

AIR jQuery API browser

Remy Sharp released a nice AIR app to browser the jQuery API, and I love jQuery ... nice little tool. Thanks Ray for the link.

SWFObject 2.1 now available

`You can download SWFObject 2.1 from the SWFObject 2 home or downloads pages.

SWFObject 2.1 addresses the following issues:

  1. Memory leaks in Internet Explorer. There were 2 categories of memory leaks: small ones caused by the library’s structure (use of closures) and use of events, and big leakage that was related to dynamic publishing and Adobe’s External Interface (note: also available in SWFObject 1.5)
  2. Internet Explorer 5.0/5.5 support issues
  3. Script errors in Internet Explorer in case an object element is removed during a visit
  4. Alternative content display issues for Safari 3+ with plug-ins disabled
  5. Removal of isDomLoaded tests from various methods of the public API to enable that dynamically inserted scripts - including bookmarklets - can use these functions
  6. Dynamic publishing could previously fire multiple instances of Adobe Express Install
  7. Fixed dynamic publishing reference issues when using a shared param or attributes JavaScript Object

It contains the following enhancements:

  1. New explicit SWF removal code - especially needed to completely and safely remove a SWF in Internet Explorer - via the new swfobject.removeSWF(idString)
  2. Shortened Flash version strings can be used, so "9.0.0" can now be written as "9"
  3. For dynamic publishing now 0, null, false or {} can be used when no flashvars, parameters or attributes have to be defined (previously you could only use false or {})
  4. Added a filter to the swfobject.getQueryParamValue method to secure the library from XSS attacks (Geoff will publish a more detailed security advisory soon)

jQuery 1.2.6 out and it's even faster

1.2.6 is now out and the events handling functionality is 103% faster:

  • CSS Selectors are 13% faster
  • .offset() is 21% faster
  • The DImensions plugin is now part of the core
  • toggle() can now accept more functions
  • attr() has had an overhaul
  • You can now unbind bound toggle() and one() functions
  • .index() supports jQuery collections
  • jQuery.makeArray can convert ANYTHING into an array
  • beforeSend() can cancel AJAX calls
  • You can now define your own animation speeds with the jQuery.fx.speeds object

HTML OnMissingImage

Scenario: you need to display a bunch of images but you're not 100% certain that they exist.

Solution 1: If the images are hosted in the same server you can loop over their physical path display an alternate image if the image was not found on disk. This solution is very taxing (I/O intensive) and not efficient at all. It also won't work if you're not hosting the images.

Solution 2: What now? I found a few JavaScripts to loop over every image found in the DOM and check of http status, then replace them if the image wasn't loaded properly. This solution is much better because it's decentralized and the load is delegated to the client as opposed of the server, and it also works with images hosted elsewhere.

Solution 3 (winner): Did you know that the image tags have an onError attribute? I can't believe that after 15 years of web development I just found out about this now :) ... This is the optimal solution as it is native to the browser, works on every browser (I tested IE6+, FF2.0+, Safari1.3+, all on Mac and PC).

Check it out, I included two images: img01.gif, which exists on my server, and img02.gif. Both of them have an onerror attribute with a simple script: this.src=error.gif.

img02.gif does not exist on my server, consequently the script will be executed and load my error.gif

<img src="img01.gif" width="100" height="100" onerror="this.src='error.gif';">
<br clear="all">
<img src="img02.gif" width="100" height="100" onerror="this.src='error.gif';">

So simple and yet so powerful. Enjoy.

ColdExt: Another ColdFusion wrapper for EXT

After blogging about Dan's great EXT cf wrapper, I ran across another one today: ColdExt.
It looks great as well, so how about Dan and Justin join efforts instead of doubling work...?

ext 2.0.2: Simple Tasks v2 - Multiple lists, NativeWindows and Reminders

In collaboration with Adobe, one of the key additions in Ext 2.0.2 was Adobe AIR 1.0 support for running in the application sandbox. Also, the Simple Tasks AIR application sample was rewritten to take advantage of more of the native functionality in AIR and gained some cool custom Ext components that can be used outside of AIR.

Ext 2.0.2 does a great job wrapping some of the AIR API JavaScript functionality ... check out this blog entry for more.

cfext: ColdFusion wrapper for EXT

Dan Vega has been working on ColdFusion custom tag wrappers for EXT, and let me tell you, it looks pretty amazing.

Ext is an EXTremely powerful JavaScript library which I mostly use to develop RIA and heavy desktop-like applications. However, CF8 ships with YUI and EXT for all dhtml and Ajax behind the scenes, so you see where this is going ... There's no easy way to upgrade the Ext version shipped with CF8, and Ext 2.0 has so many more features and improvements...

So check out Dan's cfext at RiaForge or some examples on his blog: forms, layouts, ...

jQuery UI released

jQuery UI is a set of themable widgets and interactions, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications.

The core of the library revolves around different mouse interactions, namely drag and dropping, sorting, selecting, and resizing.

On top of the core interactions are built a number of reusable widgets, including accordions, date pickers, dialogs, sliders, table sorters, and tabs.

Finally, the library is finished off with a few effects that you can use to liven up your site, specifically magnifier and shadow.

» More Information

jQuery v1.2: Major new release, sneak peak at jQuery UI

[From Rey Bango's Blog]

Hot on the heels of the jQuery v1.1.4 release, John Resig and the jQuery team put the pedal to the metal and announced their newest release, jQuery v1.2.

This is a massive new release of jQuery that's been a long time in the making - and it's ready for your consumption!

This release is feature packed adding such new features as:

Following the tradition of "playing nice with other libraries", jQuery v1.2 now provides the ability to define a custom namespace for the events expando, thus adding one more method of ensuring that jQuery developers can successfully work in a multi-library environment. John Resig had this to say:

It's incredibly important for us, and our users, that the jQuery library work in any JavaScript environment. In jQuery 1.2 you can now depend on the fact that jQuery will protect itself from outside code influences, and libraries, even going so far as to protect itself from other versions of jQuery that might be running on the same page. Knowing that your copy of jQuery will always behave the way you expect it, no matter what the platform, is the cornerstone of the project.

Along those same lines of working for the community, the team has provided jQuery developers with an easy way to migrate into jQuery v1.2 by providing a compatibility plugin. With some functionality being removed in jQuery v1.2 release, including this plugin allows developers to have all of the features that were removed in the newest release.

The full release notes provide details about all of these new features.

You can get the latest release of JQuery below:

jQuery 1.2: (How To Upgrade)


As if a new major release wasn't enough to whet your appetite, on Sunday, September 16th, the new jQuery UI effects library will be released to the public. The library will include:

  • Draggables
  • Droppables
  • Resizables
  • Shadows
  • Sliders
  • Sortables
  • Tabs
  • Accordions
  • Selectables
  • Trees
  • Modals
All completely documented, demoed, themed, and 100% Free Open Source Software.

Here's a sneak peak at what to expect:

Lead developer of jQuery UI, Paul Bakaus, had this to say:

We worked hard over the last three months to make UI a seamless, rock-solid solution for many interface situations. It's nearly there - featuring many core level modules, ready-to-go widgets and custom, unique themes. To make the experience even nicer, the team created a smart downloader, a playground with demo apps and tests and of course documentation. We are pretty excited about our release on Sunday - be sure not to miss it!

More Entries

This blog is running version 5.9.003. Contact Blog Owner