Core DOM class extensions that are in many browsers

While cleaning up some aspects of Safari's DOM bindings for JS, I  
found the following DOM extensions which I think are very widely  
implemented (including at least Mozilla and IE and I think probably  
Opera and Safari). We should consider these strong suggestions for  
things we ought to standardize:

Node:

         Node item(in long index); // and Node is also indexable as  
array

Document (browsers vary as to whether some of these these are on  
Document or HTMLDocument):

         boolean execCommand(in DOMString command,
                             in boolean userInterface,
                             in DOMString value);
         boolean queryCommandEnabled(in DOMString command);
         boolean queryCommandIndeterm(in DOMString command);
         boolean queryCommandState(in DOMString command);
         boolean queryCommandSupported(in DOMString command);
         DOMString queryCommandValue(in DOMString command);
         attribute DOMString dir;
         attribute DOMString lastModified;
         attribute DOMString designMode;

Element (browsers vary as to whether some of these are on Element or  
HTMLElement):

         readonly attribute long offsetLeft;
         readonly attribute long offsetTop;
         readonly attribute long offsetWidth;
         readonly attribute long offsetHeight;
         readonly attribute Element offsetParent;
         readonly attribute long clientWidth;
         readonly attribute long clientHeight;
         attribute long scrollLeft;
         attribute long scrollTop;
         readonly attribute long scrollWidth;
         readonly attribute long scrollHeight;
         void focus();
         void blur();
         void scrollIntoView(in boolean alignWithTop); // optional  
argument
         attribute long tabIndex;

Regards,
Maciej

Received on Friday, 7 April 2006 06:14:08 UTC