Chapter 20. Compatibility Techniques
JavaScript, like Java, is one of a new breed of platform-independent
languages. That is, you can develop a program in JavaScript and
expect to run it unchanged in a JavaScript-enabled web browser
running on any type of computer with any type of operating system.
Though this is the ideal, we live in an imperfect world and have not
yet reached that state of perfection.
There are, and probably always will be, compatibility problems that
JavaScript programmers must bear in mind. The one fact that we must
always remember is that it is a heterogeneous network out there. Your
JavaScript programs may run on three or more operating systems, using
three or more versions of browsers from at least two different
vendors. This can be difficult to keep in mind for those of us who
come from the nonportable past, when programs were developed on a
platform-specific basis. Remember: which platform you develop a
program on doesn't matter. It may work fine on that platform,
but the real test is whether it works (or fails gracefully) on
all platforms on which it is used.
The compatibility issues fall into two broad categories:
platform-specific, browser-specific, and version-specific features on
one hand; and bugs and language-level incompatibilities, including
the incompatibility of JavaScript with non-JavaScript browsers, on
the other. This chapter discusses techniques for coping with
compatibility issues in both of these areas. If you've worked
your way through all the previous chapters in this book, you are
probably an expert JavaScript programmer, and you may already be
writing serious JavaScript programs. Don't release those
programs on the Internet (or onto a heterogeneous intranet) before
you've read this chapter, though!
|