WebDialog 1.0.2 released

This release has a couple of bug fixes and new features. 1.0.1 was a minor update correcting the help file.

What's New:

  • New Feature - Added hover and click states to the dialog hide button.
  • New Feature - Added dialog icon image. By default this shows a different icon depending upon the user's browser. Currently has IE, Firefox, Mozilla and Opera icons.
  • New Feature - Added a ContentStyle property.
  • Bug Fix - DropDown jump issue on Firefox.
  • Bug Fix - Text selection is no longer disabled when dialog is visible.

Google Analytics Downtime Solutions

Google Analytics was down for a few hours today. While it is not unusual for an ASP service to have downtime, Google Analytics works by you including a link to their Javascript file on your website and while the website was down today that file was also unavailable. Anyone who linked to the file in the page header will have found that their websites were not loading. This is because no page content is displayed until all header files have been downloaded. This is a big deal if your business is based around the internet. Some website owners have decided to remove the service entirely because of todays incident.

The simple fix to this is to include the script tag with the link to http://www.google-analytics.com/urchin.js at the bottom of webpage, which Google now recommends doing. If the Google Analytics website goes down, and the file is unavailable, the page will continue to display normally.

Although this solves the big problem of no content being display, there are still two issues.

Analytics Functions

The first is that any calls to the Google Analytics functions such as urchinTracker to track downloads or outbound links in click events will break. The script containing the function hasn't been loaded, either because Google is down or the user simply clicked the link before the page reached loading the script tag linking to Google. The solution to this is test whether the function exists before it is called.

<a href="webdialog/webdialog.msi" class="imagelink" onclick="if (typeof(urchinTracker) != 'undefined') urchinTracker('/downloads/webdialog');">

The other problem is that any of your own Javascript in the page onload event will never be called. The onload event only runs once all content for the page, including Javascript, has been loaded by the browser. If Google Analytics is down and the browser is hung waiting on loading the Analytics script, the onload event on the page will never be raised and Javascript functions attached to the event will never be called. There are two way to deal with this issue: Either place any critical Javascript calls in an Init function, which is then called at the bottom of the page, or use Dean Edward's onload work around.

Google Analytics is a powerful service, at the right price (free!). Hopefully by taking these precautions you should be able to continue tracking visiters with Google Analytics without it interfering with the rest of your website.

Update:

What NOT to do!

Don't host a local copy of urchin.js yourself and link to that.

The reason Google is giving out a link to a file, rather than the file itself, is so that they can easily update it when fixing bugs or adding functionality. Updates will trickle down to all websites automatically.

If you are hosting urchin.js yourself then one day stats for your website may stop working without warning because your version of the file has become out of date.

Update 2:

Google has added a page about to their website about hosting the urchin.js file locally. For the same reasons I wrote above they don't recommend it.

WebDialog 1.0 released!

Newtonsoft WebDialog 1.0 has been released and is available to download and to buy.

Whew! It is a nice feeling to be able to say that :)

I'd like to thank those that tried out the beta and provided feedback. You helped me fix a number of bugs and cater to some scenarios that I wouldn't have otherwise thought of, and WebDialog is a better product for it.

You can download WebDialog here:

http://www.newtonsoft.com/downloads/

And you can now purchase WebDialog here at the new store:

http://www.newtonsoft.com/store/

If you have any questions or queries, don't hesitate to ask.

This is what is new since the last update a week ago:

  • Bug fix in IE where the page would flicker after dragging the dropdown and then changing a dropdown. You've gotta love IE.
  • Added the name of the WebDialog browser object to the IFRAME. This allows it to more easily be referenced from nested dialog pages.
  • Added documentation. Included is a class reference of WebDialog and other objects, and some task based guides to help new users getting started. They are: Display Content; Hiding, Showing and Positioning; Customizing Appearance; and Creating Modal Dialogs.
  • Packaged everything together in an MSI installer.