Workarounds Available:
No Workarounds Available:
constructor
description enabledPlugin fileName hspace Image javaEnabled lowsrc mimeTypes next |
Option
previous refresh reload reset src suffixes taint untaint vspace width |
Areas Affected:
Javascript 1.1 Object
Javascript 1.0 | Since there is no NAME attribute for the Area objects, one must use a numeric index, such as document.links[0], to reference one of the these objects. |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JavaScript 1.1 Object
Example:
var my_array = new Array();
for (i = 0; i < 10; i++)
{
my_array[i] = i;
}
x = my_array[4];
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Object is part of the JScript 3.0 API |
JScript 2.0 | Object is part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
JScript 2.0 Object
Javascript 1.0 | In JavaScript 1.1, Boolean objects are created by the Boolean
constructor, for example
mode = new Boolean( true ); In JavaScript 1.0, all Booleans had to be created by assignments, for example, mode = true; |
JScript 3.0 | Object is part of the JScript 3.0 API |
JScript 2.0 | Object is part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Function
JScript 3.0 | Workarounds can be found within the Input Objects in DOM 1.0 |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Object
myImage = new Image()
myImage.src = "seaotter.gif"...
document.images[0].src = myImage.src
The resulting image will be obtained from cache, rather than loaded
over the network, assuming that sufficient time has elapsed to load and
decode the entire image. You can use this technique to create smooth animations,
or you could display one of several images based on form input.
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Object
JScript 3.0 | see Navigator.mimeTypes collections within the toolbox
reference window.
The following code displays the type, description, suffixes, and enabledPlugin properties for each MimeType object on a client: document.writeln("<TABLE BORDER=1><TR VALIGN=TOP>",
|
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
VBScript 3.0 | No Workaround exists |
Areas Affected:
JScript 3.0 Object
Javascript 1.0 | In JavaScript 1.1, Number objects are created by the Number
constructor, for example
mode = new Number ( 4 ); In JavaScript 1.0, all Numbers had to be created by assignments, for
example,
|
JScript 3.0 | Object part of the JScript 3.0 API |
JScript 2.0 | Object part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Object
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Table of Contents
Plugin, applets, domain, embeds, images, closed, opener, border, history, plugins, scroll, Applet, complete
Areas Affected:
Microsoft's objects:
document's properties: bgColor, charset, activeElement, aLinkColor,
BODY, cookie, defaultCharset, domain, expand, fgColor, fileCreatedDate,
fileModifiedDate, fileSize, lastModified, linkColor, location, parentWindow,
protocol, readyState, selection, TITLE, uniqueID, URL, vlinkColor
document's colletions: all, anchors, children, embeds, forms, frames,
images, links, scripts, styleSheets
document's methods: attachEvent, clear, close, createElement, createStyleSheet,
detachEvent, elementFromPoint, execCommand, open, queryCommandEnabled,
queryCommandIndeterm, queryCommandState, queryCommandSupported, queryCommandValue,
recalc, write, writeln.
document's events: onclick, ondblclick, ondrag, ondragend, ondragenter,
ondragleave, ondragover, ondragstart, ondrop, onhelp, onkeydown, onkeypress,
onkeyup, onmousedown, onmousemove, on mouseout, onmouseover, onmouseup,
onpropertychange, onreadystatechange
window's properties: name, clientInformation, closed, complete, defaultStatus,
dialogArguments, dialogHeight, dialogLeft, dialogTop, dialogWidth, document,
event, external, frames, history, length, location, navigator, offscreenBuffering,
opener, parent, returnValue, screen, screenLeft, screenTop, self, status,
top
window's methods: alert, attachEvent, blur, clearInterval, clearTimeout,
close, confirm, detachEvent, execScript, focus, moveBy, moveTo, navigate,
open, prompt, resizeBy, resizeTo, scroll, scrollBy, scrollTo, setInterval,
setTimeout, showHelp, showModelDialog
window's events: onbeforeunload, onblur, onerror, onfocus, onhelp,
onload, onresize, onunload.
Netscape's document object:
document's properties: alinkColor, anchors, applets, bgColor,
cookie, domain, embeds, fgColor, formName, forms, images, lastModified,
layers, linkColor, links, plugins, referrer, title, URL, vlinkColor.
document's methods: captureEvents, close, getSelection, handleEvent,
open, releaseEvents, routeEvent, write, writeln.
document's events: onClick, onDblClick, onKeyDown, onKeypress, onKeyUp,
onMouseDown, onMouseUp
window's properties: closed, defaultStatus, document, frames,
history, innerHeight, innerWidth, length, location, locationbar, menubar,
name, opener, outerHeight, outerWidth, pageXOffset, pageYOffset, parent,
personalbar, scrollbars, self, status, statusbar, toolbar, top, window
window's methods: alert, back, blur, captureEvents, clearInterval,
clearTimeout, close, confirm, disableExternalCapture, enableExternalCapture,
find, focus, forward, handleEvent, home, moveBy, moveTo, open, print, prompt,
releaseEvents, resizeBy, resizeTo, routeEvent, scroll, scrollBy, scrollTo,
setInterval, setTimeout, stop
window's events: onBlur, onDragDrop, onError, onFocus, onLoad, onMove,
onResize, onUnload
CSS Properties
Font and Text Properties: fontFamily, fontSize, fontStyle, fontVariant,
fontWeight, font, letterSpacing, lineHeight, wordSpacing, textAlign, textDecoration,
textIndent, textTransform, verticalAlign
Colors and Background Properties: color, backgroundAttachment, backgroundColor,
backgroundImage, backgroundPosition, backgroundRepeat, background
Box/Layout Properties: borderBottomColor, borderLeftColor, borderRightColor,
borderTopColor, borderColor, borderBottomStyle, borderLeftStyle, borderRightStyle,
borderTopStyle, borderStyle, borderBottomWidth, borderLeftWidth, borderRightWidth,
borderTopWidth, borderWidth, borderBottom, borderLeft, borderRight, borderTop,
border, clear, float, marginBottom, marginLeft, marginRight, marginTop,
margin, paddingBottom, paddingLeft, paddingRight, paddingTop, padding
Positioning Properties: clop, height, left, overflow, position, top,
visibility, width, zIndex
Other Properties: display, cursor, listStyleImage, listStylePosition,
listStyleType, listStyle
Dynamic HTML gives the developer full control over their web page. Dynamic HTML in Microsoft's Internet Explorer 4.0 provides complete access to every element, every style, all the content on the page, as well as any user event anywhere on the page.
Netscape Navigator 4.0 on the other hand, only supports events on a
few elements and support for CSS-Positioning, and does not have the ability
to change the style nor access the content on the page.
Therefore, when designing for both browsers, you need to look for a
common ground or you need to clearly understand the browser's capabilities
and work around them as appropriate. The common ground for Dynamic HTML
is CSS Positioning. While the syntax for positioning elements is the same,
the object model for animating and responding to user events is different.
This is why DHTMLLib is designed. DHTMLLib is a cross-browser solution for developing pages with CSS positioning. Different from most cross-browser solutions, DHTMLLib not only allows you to animate positioned elements, but you also have access to the user's events. For events, Internet Explorer's powerful event bubbling model is emulated in Netscape for positioned elements, allowing you to write generic, reusable code.
With this library, it resolves most of the incompatibility issues regarding layers, CSS positioning, event handling, write your code with IE4's object model (DOM) and it will run on both 4.0 browsers.
To use this library, you need to include the file, http://www.insidedhtml.com/positioning/dhtmlLib.js, in your script as follows:
<SCRIPT SRC="http://www.insidedhtml.com/positioning/dhtmllib.js" LANGUAGE="Javascript"></SCRIPT>
References
Article "DHTML Library", http://www.insidedhtml.com/positioning/home.htm
Table of Contents
Areas Affected:
JScript 2.0 Function - All Objects
Example:
y = new MyFunc();
if (y.constructor == MyFunc)
// do something
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Functions
In JavaScript 1.1, current can only be used when data tainting is enabled
in JavaScript 1.2, current can only be used in a signed script with
the 'UniversalBrowserRead' privilege enabled.
JScript 3.0 | See JScript 1.0 Workaround |
JScript 2.0 | See JScript 1.0 Workaround |
JScript 1.0 | document.url() |
JavaScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Properties
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Properties
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.2 new Functions
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Function
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Property
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Image Property
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JScript 3.0 Constant
Javascript 1.0 | Number.MAX_VALUE has a value of approximately 1.79E+308.
In the beginning of the document, define constants MAX_VALUE and MIN_VALUE to values given above. |
JScript 3.0 | Constant part of the JScript 3.0 API |
JScript 2.0 | Constnat part of the JScript 2.0 API |
JScript 1.0 | Number.MAX_VALUE has a value of approximately 1.79E+308.
In the beginning of the document, define constants MAX_VALUE and MIN_VALUE to values given above. |
Areas Affected:
JScript 3.0 Constant
Javascript 1.0 | Number.MIN_VALUE has a value of approximately 2.22E-308.
In the beginning of the document, define constants MAX_VALUE and MIN_VALUE to values given above. |
JScript 3.0 | Constant part of the JScript 3.0 API |
JScript 2.0 | Constnat part of the JScript 2.0 API |
JScript 1.0 | Number.MIN_VALUE has a value of approximately 2.22E-308.
In the beginning of the document, define constants MAX_VALUE and MIN_VALUE to values given above. |
Areas Affected:
JScript 3.0 Constant
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Part of the Global Object Model |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JScript 3.0 Constant
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Constant part of the JScript 3.0 API |
JScript 2.0 | Constant part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Tainted Signed Scripts
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JScript 3.0 Constant
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Constant part of the JScript 3.0 API |
JScript 2.0 | Constant part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Tainted
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JavaScript 1.1
Example:
function array_max( )
{
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
After this code is executed, y contains the largest value in the array
x, or 6.
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Part of the JScript 3.0 API |
JScript 2.0 | Part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.2 new Functions
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.2 new Functions
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Image Object
When you change the src property of a displayed image, the new image you specify is displayed in the area defined for the original image. For example, suppose an Image object originally displays the file beluga.gif:
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Netscape Navigator Object
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Method - Array Object
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Array Object is part of the JScript 3.0 API |
JScript 2.0 | Array Object is part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1 Function
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.2 String Functions
Javascript 1.0 | No Workaround exists |
JScript 3.0 | String object is part of the JScript 3.0 API |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.2 new Functions
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JScript 3.0 Function - Array Object
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Array Object is part of the JScript 3.0 API |
JScript 2.0 | Array object is part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
JavaScript 1.1 Method - Array Object
A negative value if the first argument passed is less than the second
argument.
Zero if the two arguments are equivalent.
A positive value if the first argument is greater than the second argument.
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Array Object is part of the JScript 3.0 API |
JScript 2.0 | Array Object is part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1
In Navigator 4.0, Split has the following additions:
It can take a regular expression argument, as well as a fixed string,
by which to split the object string. If separator is a regular expression,
any included parenthesis cause submatches to be included in the returned
array. It can take a limit count so that it won't include trailing empty
elements in the resulting array.
Examples
Example 1. The following example defines a function that splits a string into an array of strings using the specified separator. After splitting the string, the function displays messages indicating the original string (before the split), the separator used, the number of elements in the array, and the individual array elements.
function splitString (stringToSplit,separator) {
arrayOfStrings = stringToSplit.split(separator)
document.write ('<P>The original string is: "' + stringToSplit +
'"')
document.write ('<BR>The separator is: "' + separator + '"')
document.write ("<BR>The array has " + arrayOfStrings.length + "
elements: ")
for (var i=0; i < arrayOfStrings.length; i++) {
document.write (arrayOfStrings[i] + " / ")
}
}
var tempestString="Oh brave new world that has such people in it."var
var space=" "
var comma=","
splitString(tempestString,space)
This example produces the following output:
The original string is: "Oh brave new world that has such people in
it."The separator is: " "The array has 10 elements: Oh / brave / new /
world / that / has / such / people / in / it. / "
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Array Object is part of the JScript 3.0 API |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JScript 3.0 Object Function
"Array" The elements of the array are converted into strings, and the
strings are concatenated together, separated by commas. This behaves the
same as the Array.toString and Array.join methods.
"Boolean" The Boolean value.
"Date" The stored time value in milliseconds since midnight, January
1, 1970 UTC.
"Function" The function itself.
"Number" The numeric value.
"Object" The object itself. This is the default.
"String" The string value.
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Object method is part of the JScript 3.0 API |
JScript 2.0 | Object method is part of the JScript 2.0 API |
JScript 1.0 | No Workaround exists |
onAbort, onError, onMouseOut, onReset, onMouseOver
Areas Affected:
Events, Event Handler, Event Model
Microsoft's Event Model:
event object's properties: altKey, button, cancelBubble, clientX, clientY,
ctrlKey, dataFld, dataTransfer, fromElement, keyCode, offsetX, offsetY,
propertyName, reason, recordset, returnValue, screenX, screenY, shiftKey,
srcElement, srcFilter, toElement, type, x, y.
Microsoft's Events: onabort, onafterupate, onbeforecopy, onbeforecut,
onbeforepaste, onbeforeunload, onbeforeupdate, onblur, onbounce, oncellchange,
onchange, onclick, oncopy, oncut, ondataavailable, ondatasetchanged, ondatasetcomplete,
ondblclick, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart,
ondrop, onerror, onerrorupdate, onfilterchange, onfinish, onfocus, onhelp,
onkeydown, onkeypress, onkeyup, onload, onlosecapture, onmousedown, onmousemove,
onmouseout, onmouseover, onmouseup, onpaste, onpropertychange, onreadystatechange,
onreset, onresize, onrowenter, onrowexit, onrowsdelete, onrowsinserted,
onscroll, onselect, onselectstart, onstart, onsubmit, onunload.
Netscape's Event Model:
event object's properties: data, height, layerX, layerY, modifiers,
pageX, pageY, screenX, screenY, target, type, which, width
Netscape's Events: onAbort, onBlur, onChange, onClick, onDblClick,
onDragDrop onError, onFocus, onKeyDown, onKeyPress, onKeyUp, onLoad, onMouseDown,
onMouseMove, onMouseOut, onMouseOver, onMouseUp, onMove, onReset, onResize,
onSelect, onSubmit, onUnload
Microsoft:
1. Link
2. Layer
3. document
4. window
5. default handler
Netscape:
1. Window
2. document
3. layer
4. link
5. default handler
Microsoft uses an event bubbling model. Event bubbling is a process
in which the object associated with where the event happened receives the
event first. This object then choose to process the event or pass
it along to its parent object.
NN4 uses an event capturing model, the opposite of an event bubbling
model. Rather than events being generated by the bottommost object in the
hierarchy, then bubbled up, events in the event capturing model are generated
at the top of the object hierarchy and then fall through to events lower
in the hierarchy. A limited number of page elements can generate
and process events. For example, onMouseOver is handled only images and
links.
To write scripts that will work in both browsers, don't use the feature of passing any events to parent event handlers, since the passing order is reversed in the two browsers. Instead, handle each event in a single function. Also, use only the events defined for the Netscape browser, since those will work in both.
References
1) Bubble Power: Event Handling in Internet Explorer 4.0 http://www.microsoft.com/workshop/author/script/ie4event.asp
2) Dynamic HTML and The New Event Models http://www.dhtmlzone.com/articles/eventmodels.html
3) Cross Browser Dynamic HTML http://www.dhtmlzone.com/articles/dhtml.html
Table of Contents
Areas Affected:
Javascript 1.1
Example:
To taint the src property of a layer object, which is not normally
tainted, use a statement such as:
layer1.src = taint(layer1.src)
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
Javascript 1.1
Javascript 1.0 | No Workaround exists |
JScript 3.0 | No Workaround exists |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JavaScript 1.1 Functions
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Part of the JScript 3.0 API |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |
Areas Affected:
JavaScript 1.1 Functions
The toString method is a member of all built-in JScript objects. How it behaves depends on the object type:
"Array Elements" of an Array are converted to strings. The resulting
strings are concatenated, separated by commas.
"Boolean" If the Boolean value is true, returns "true". Otherwise,
returns "false"
"Function" Returns a string returned of the following form, where functionname
is the name of the function whose toString method was called:
function functionname( ) { [native code] }
"Number" Returns the textual representation of the number.
"String" Returns the value of the String object.
"Default Returns" "[object objectname]", where objectname is the name
of the object type.
Javascript 1.0 | No Workaround exists |
JScript 3.0 | Part of the JScript 3.0 API |
JScript 2.0 | No Workaround exists |
JScript 1.0 | No Workaround exists |