Browser version
incompatibility is the biggest problem. It requires knowing how each scriptable
browser version implements its object model. You see, the incompatibility
rarely has to do with the core JavaScript language (although there have been
improvements to the language over time); the bulk of incompatibility issues
have to do with the object models that each browser version implements. For
example, scripters who started out with Navigator 3 implemented the image
rollover because it looked cool. But they were dismayed to find out that the
image object wasn't scriptable in Internet Explorer 3 or Navigator 2. While
there are easy workarounds to make this feature work on newer browsers without
disturbing older ones, it was a painful learning experience for many.
The second biggest can of
worms is scripting connections between multiple windows. A lot of scripters
like to have little windows pop up with navigation bars or some such gizmos.
But the object models, especially in the older browser versions, don't make it
easy to work with these windows the minute you put a user in front of
them--users who can manually close windows or change their stacking order. More
recently, a glitch in some uninstall routines for Windows 95 applications can
disturb vital parts of the system Registry that Internet Explorer 4 requires
for managing multiple windows. A scripter can't work around this problem,
because it's not possible to detect the problem in a user's machine. I tend to
avoid multiple windows that interact with each other. I think a lot of
inexperienced Web surfers can also get confused by them.
No comments:
Post a Comment