Version 25 of javascript

Updated 2013-08-31 04:10:09 by RLE

Summary

JavaScript information for Tcl programmers

See Also

ActionScript
another implementation of ECMAscript

Description

Javascript is an implementation of ECMAscript.

<<Discussion>>


JavaScript and Tcl have a special relation: both at Sun and Netscape (Mosaic, originally), the two were in strategic competition. Roger Binns [[email protected]] originally embedded a Tcl interpreter in the Mosaic browser; "[d]etails are in the proceedings of the 2nd WWW [C]onference". He writes about this that, "The audience were in awe of a demo that printed an entire book based on following the rel links in web page headers, got everything in the right order, loaded the pages and printed".

Netscape chose JavaScript, though.

See also Tcl in Javascript


There is also a module in the tcllib library of Tcl code. Its purpose is to aid developers in generating HTML and JavaScript code. Related modules are ncgi and html.

Documentation can be found at http://tcllib.sourceforge.net/doc/javascript.html .

Examples of use of this code are encouraged.


NEM If you want to evaluate JavaScript code from Tcl, then there are a couple of options. Firstly, hv3, the web-browser built on top of TkHTML comes with a binding to the SEE ECMAScript Interpreter library [L1 ]. Secondly, I also have a very quick/simple binding to the NJS interpreter library available from [L2 ].

jdc Another option is tcljs . It can be used to embed spidermonkey in a Tcl application.

It can be used in combination with package tcljspac to process proxy.pac files.

Yet another option for bindings to SpiderMonkey [L3 ]


A 2009 article by Cameron Laird on javascript [L4 ]


Anyone who has read this far will probably want to know about Zombie [L5 ], created for automatic testing of JavaScript-coded applications (more than that, really; it also knows about CSS, ...). It's of broader interest, though, mostly in directions where Tclers swarm: automation, Web scraping, DOM analysis, ... Zombie is open source, of course, and a nice model for at least a few techniques that are useful in Tcl-oriented testing code.