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


Reply via email to