Most of the SpiderMonkey scripting interface is documented in the ELinks manual. This README describes only features added by contrib/smjs/*.js. Multiple functions in the same hook ----------------------------------- The default hooks file contrib/smjs/hooks.js assigns functions that provide a mechanism to register multiple functions to each hook. When these default hooks are called, they iterate over all functions that are registered to them, calling each one in serial. If you want to register a preformat_html hook, for example, the preferred way to do so is not this: elinks.preformat_html = foo; but rather this: elinks.preformat_html_hooks.push(foo); which adds foo to an array of functions, over which the default elinks.preformat_html function will iterate. If any function in that array returns false, the default hook will stop iteration, not calling any more handlers. This applies to all of the default hooks: - elinks.preformat_html_hooks - elinks.goto_url_hooks - elinks.follow_url_hooks