InScript is the scripting language used by iCab to generate HTML documents dynamically. The core language is compatible with ECMAScript.
At present InScript features roughly the functionality of Netscape's JavaScript 1.1 or Microsoft's JScript and many extensions of newer versions.
A demo of the possibilities you'll find here.
Warning: At the moment no security policy is implemented in InScript, i.e. every frame in one window can access all other frames in that window without any restrictions. Who considers this too dangerous has to switch off InScript in "Preferences - InScript".
The Document Object Model (DOM) is still missing some parts. Especially many W3C-DOM level 1standard objects are still missing.
Some scripts might cause problems because they require JavaScript 1.2 (or later), but fail to declare this in the SCRIPT tag.
If iCab crashes on certain web pages, but it does not crash on these pages if InScript is turned off in the "Preferences", please report the URL to the iCab support.
InScript implements the 2nd edition of the ECMA-262 standard ("ECMAScript"). Therefore it has roughly all the features of JavaScript 1.1. It also features most of the 3rd edition of ECMAScript. But as ECMA262-3 is not supported completely yet, InScript only executes scripts with a LANGUAGE attribute of "JavaScript" and "JavaScript1.1".
Compared to newer versions of JavaScript the following parts of the language are missing:
As soon as ECMA262-3 has been implemented completely (which is roughly equivalent to JavaScript 1.5), DOM level 1 (and later on level 2) can be realized.
At the moment InScript implements properties defined by the DOM (mainly level 0) and some Navigator/Explorer extensions as follows:
Object | Properties |
---|---|
Event | altKey, clientX, clientY, ctrlKey, modifiers, pageX, pageY, screenX, screenY, shiftKey, srcElement, target, type |
HTMLAnchorElement |
(inherits from Link) charset, hreflang, rel, rev, text, type, x,y |
HTMLAreaElement |
(inherits from Link) alt, noHref |
HTMLCollection | item, length |
HTMLDocument |
(inherits from HTMLElement) activeElement, alinkColor, anchors, applets, bgColor, body, charset, close, cookie, defaultCharset, domain, embeds, fgColor, getSelection, images, lastModified, linkColor, links, location, open, parentWindow, plugins, referrer, scripts, title, URL, vlinkColor, write, writeln |
HTMLElement | all, className, dir, document, getAttribute, id, innerHTML, innerText, insertAdjacentHTML, insertAdjacentText, lang, length, name, outerHTML, outerText, parentElement, removeAttribute, setAttribute, sourceIndex, tagName, title |
HTMLFormElement |
(inherits from HTMLElement) acceptCharset, action, elements, encoding, enctype, method, reset, submit, target |
HTMLImageElement |
(inherits from HTMLElement) align, alt, border, complete, height, hspace, isMap, longDesc, lowsrc, lowSrc, src, useMap, vspace, width |
HTMLInputElement |
(inherits from HTMLElement) blur, click, disabled, focus, form, select, type, value (Checkbox and Radio elements: checked, defaultChecked) |
HTMLOptionElement |
(inherits from HTMLInputElement) defaultSelected, index, selected, text |
HTMLScriptElement |
(inherits from HTMLElement) charset, defer, event, htmlFor, src, text, type |
HTMLSelectElement |
(inherits from HTMLInputElement) multiple, options, selectedIndex, size, value, options.selectedIndex |
Image | complete, height, src, width |
Link (internal) |
(inherits from HTMLElement) coords, hash, host, hostname, href, pathname, port, protocol, search, shape, target |
Option | defaultSelected, index, selected, text, value |
Window | alert, back, blur, clearInterval, clearTimeout, clientInformation, close, closed, confirm, debug, defaultStatus, Event, event, focus, forward, frames, history, home, length, location, moveBy, moveTo, name, navigate, navigator, open, opener, parent, print, prompt, resizeBy, resizeTo, screen, ScriptEngine, ScriptEngineBuildVersion, ScriptEngineMajorVersion, ScriptEngineMinorVersion, scroll, scrollBy, scrollTo, self, setInterval, setTimeout, status, stop, top |
A list of known and fixed bugs you'll find here.
More links on JavaScript you'll find here.
in
and instanceof
do
.. while
InScript - Copyright ©2000 by Thomas Much.