DOMContentLoaded for Browsers, Part IV

Update: 2014 March 19 - domReady version II has been created that provides a streamlined domReady function.

Update: 2008 June 13 - DOMContentLoaded for Browsers, Part V has been created that provides a domReady function without the overhead of the Dean Edwards' events code. If you're a prototype user you should check out Prototype JavaScript framework: document.observe which in version 1.6.0 gives you a dom:loaded event. If you don't have 1.6.0 or above of prototype or don't like their solution, check out domready.js in DOMContentLoaded for Browsers, Part V.

Update: 2008 Feb 14 - Added support for Vista 64 per Goran Miskovic's comment.

For those of you that don't know what the DOMContentLoaded event can do for you, here's a brief description.

The DOMContentLoaded event allows you to add behavior or change the HTML of a page after the HTML has loaded and before the onload event which happens after the complete page, including images has loaded. This allows you to add menu, tree behavior, AJAX functionality or anything else without having to wait for all items on a page to load. You may have experienced the need for a DOMContentLoaded event on a page that includes drop down menus or a tabbed interface which doesn't work until all images have loaded. Using the DOMContentLoaded event allows you to add the behavior before images and objects have loaded.

When I originally added the DOMContentLoaded event handler to Dean Edwards' addEvent function, I didn't provide a way to handle calls to it after the DOMContentLoaded event handler ran. If a developer called addEvent(window, "DOMContentLoaded", myFunction) after the DOMConentLoaded event ran, the passed function would never run. This version fixes the problem so that even if you call addEvent for the DOMContentLoaded event and the DOMContentLoaded event handler has already run, it will run your function.

The previous addDOMLoadEvent function would simply add the passed function to an array of functions which would be handled by the DOMContentLoadedInit function on the DOMConentLoaded event.

Continue Reading "DOMContentLoaded for Browsers, Part IV..."

Land line gone, VOIP is today’s phone service

My land line cost around $60.00USD a month and I was tired of paying that much money for a service we rarely used. We wanted a "family" phone but didn't want to pay what we had been paying. I have been using Skype on my computer for about three years and have been happy with the improved quality of the service, so we decided to go with Skype. A couple of weeks ago, I bought a Netgear Skype phone.


The Skype web site is pretty easy to use if you're going to download their software or purchase Skype Out. However, if you want to find out what you need to setup a Skype phone, you're in trouble. The information is very difficult to find. I finally bought Skype Pro for $36.00USD that gave me a $30.00USD credit for Skype In. I bought Skype In with the credit for $30.00USD and finally bought Skype Out for $29.95USD for a total of $95.95USD for a year of phone service.

The service is very good with excellent voice quality. I can't make 911 calls, but I can use my Cell Phone if I need to make a 911 call. So far the only problem I've had is accidentally hitting the off button when on a call.