** Summary ** '''JavaScript''' information for Tcl programmers ** See Also ** [ActionScript]: another implementation of [ECMAscript] ** Description ** Javascript is an implementation of [ECMAscript]. <> ---- JavaScript and Tcl have a special relation: both at Sun and Netscape (Mosaic, originally), the two were in strategic competition. Roger Binns [[rogerb@rogerbinns.com]] 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 [http://tkhtml.tcl.tk/hv3.html]. Secondly, I also have a very quick/simple binding to the NJS interpreter library available from [http://www.cs.nott.ac.uk/~nem/tcl/]. [jdc] Another option is http://code.google.com/p/tcljs/%|%tcljs%|%. It can be used to embed spidermonkey in a Tcl application. It can be used in combination with package http://code.google.com/p/tcljspac/%|%tcljspac%|% to process `proxy.pac` files. Yet another option for bindings to SpiderMonkey [http://aolserver.cvs.sourceforge.net/viewvc/aolserver/nsjsapi/] ---- A 2009 article by [Cameron Laird] on javascript [http://ldn.linuxfoundation.org/column/the-latest-javascript] ---- Anyone who has read this far will probably want to know about Zombie [http://labnotes.org/2010/12/30/zombie-js-insanely-fast-full-stack-headless-testing], 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. <> Language