JavaScript suffers from less incompatibility issues than CSS. All modern browsers, including Explorer for Windows, support the ancient Level 0 DOM and the modern W3C DOM reliably. You should not use the two proprietary DOMs, Netscape's document.layers
or Microsoft's document.all
, any more, though. Safari doesn't support these DOMs, and neither does Mozilla. Use the Document.getElementById
DOM instead.
Of course there are minor issues in all browsers. See the W3C DOM Compatibility Tables for an overview.