The ability to provide cross-browser/cross-platform applications is one of the compelling aspects of Ajax. While there are differences between browsers, these can typically be handled with a little effort. There are some exceptions when you get into developing more advanced Ajax applications that take advantage of certain features only available in a particular browser. For the most part, these problems can be avoided by staying away from browser-specific features. In practice, that is not always possible.
One example that comes to mind: at Scalix, we chose to take advantage of browser-specific features in Microsoft Internet Explorer (IE) that were not supported in Firefox. Because it was important for us to ensure that Firefox had equal footing with IE, we made certain that we could deliver equivalent functionality in Firefox through a different, standards-based approach. What that all means, is that in a few edge cases, when advanced Ajax development is involved, you may find yourself doing additional development to address cross-browser differences.
That being said, there are a few inherent limitations in some browsers that make it impossible to provide complete cross-browser equivalency. For example, the Firefox browser does not provide a programmatic interface for doing cut/copy/paste. This prevented us from providing menu items to support those operations under Firefox, whereas the menu items do appear when running under IE. The workaround in this case is that the normal keyboard shortcuts that support cut/copy/paste work in both browsers, minimizing the end user impact of this limitation.
This was first published in October 2005