Sha256: 8ad2038d5d6c732222614ba41d390142b05e52d4f466417fd23c3d24c5afe7cb

Contents?: true

Size: 1.71 KB

Versions: 3

Compression:

Stored size: 1.71 KB

Contents

= env.js

* http://github.com/smparkes/env-js
* http://groups.google.com/group/envjs
* #envjs @ freenode

== Description

A browser environment for javascript interpreters.

This is a fork of the env.js project (http://github.com/thatcher/env-js/). See that link for env.js details.
This fork is based on the Johnson Ruby gem
(http://github.com/jbarnette/johnson).

== Installation

For now, you can install the envjs gem by installing Johnson:

  gem install johnson --prerelease

and then installing the envjs gem with

  gem install envjs

== Using envjs interactively

The envjs gem provides the envjsrb command, which functions as an extended version of the Johnson javascript shell. For example:

  mbp:env-js smparkes$ envjsrb
  js> this
  => [object Window 0]
  js> window.location
  => about:blank
  js> document.innerHTML
  => "<html><head><title></title></head><body></body></html>"
 js> 

== Embedding envjs

It's also possible to embed the envjs interpreter similar to the way it's done in Johnson, e.g.,

  require 'rubygems' # if necessary
  require 'johnson/tracemonkey'
  require 'envjs/runtime'

  envjs = Johnson::Runtime.new
  envjs.extend Envjs::Runtime
  window = envjs.evaluate("window")
  puts window.location.to_s # == "about:blank"
  puts window.document.innerHTML # == "<html><head><title></title></head><body></body></html>"
  envjs.wait

You need the Runtime#wait at the end to give env.js's event loop a chance to execute queued events and timers. You may need to do this at other times as well, depending on the asynchronous nature of your application.

== License

See
http://github.com/smparkes/env-js/blob/envjsrb/licenses/MIT-LICENSE.txt
and
http://github.com/smparkes/env-js/blob/envjsrb/licenses/GPL-LICENSE.txt.

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
envjs-0.3.8 README.rdoc
envjs-0.3.7 README.rdoc
envjs-0.3.6 README.rdoc