Having seen how easy it is to create dynamic content, we now need to move on to the major thorn in the side of all Web Developers—browser compatibility. It's sometimes hard to believe that the situation has become as difficult as it has when we have a 'ruling body' in the shape of the World Wide Web Consortium (W3C) setting standards for HTML, scripting language support, page layout styles, etc.
The problem is that the rate of change of the technology outstrips any democratic process—even in the case of the W3C, whose decision-making process is swift compared to those in most other industries. As soon as one version of HTML is fixed as a standard, there are new browsers available that support new effects, new HTML elements, and even new concepts in the way the Web is used. A perfect example is the so-called 'push' technology, which browser manufacturers have implemented as 'Channels'. There are several incompatible systems available, and many (as we'll see later in this chapter) are more 'pull' than 'push'.
All this means you have to start making choices. Which browsers do you support? Which do you disregard? And how do you provide 'fallback' for older and less capable browsers? In Chapters 8 and 9 of this book you'll see how we can measure the proportion of traffic that our site gets from each browser type. Of course it may be that you get more hits from one browser because your site doesn’t support the other browser types. If your pages don’t work in Navigator 4, you won't get a lot of repeat visits from Navigator 4 users...
So this chapter is devoted to the issues involved in trying to offer the best cross-platform support for browsers. We'll look at:
We'll begin with a look at the different issues involved in compatibility, and outline the solutions available.