-
Notifications
You must be signed in to change notification settings - Fork 111
Home
Gordon lets you run your SWF movie files in a JavaScript based environment, without the need of any plugins or additional software. It takes advantage of the latest web technologies like SVG to render vector based graphics or Web Workers for enhanced performance and to parse even large SWF’s in the background, without blocking the user interface. Furthermore, it gives you full access and control of the resources, characters and timeline behaviours in your movie via JavaScript or DOM scripting.
Gordon was created and is maintained by me, Tobias Schneider, a web developer based in Munich, Germany.
Comments are appreciated, please contact me on Twitter (http://twitter.com/tobeytailor/)
In this build, Gordon can read and parse all valid SWF’s, even if they are compressed with ZLIB, but plays only SWF1 files completely, as well as most of the SWF2 features. For a deeper overview of Gordon’s current compatibility status, take a look at the SWF Tag Support Table (http://wiki.github.com/tobeytailor/gordon/swf-tag-support-table/).
To create Gordon compatible SWF movies with, for instance, the Flash™ IDE, open the Publish Settings dialog, click the Flash tab and select Flash Player 1 or 2 from the Version pop-up menu. Incompatibility errors during the following publish process of your movie points to used features which are not supported by the selected Flash Player version and therefore not by Gordon at this time.
Gordon currently targets the following platforms:
- Mozilla Firefox >= 3.0
- Apple Safari >= 3.1
- Google Chrome >= 1.0
- Opera >= 10.50 Beta
There are known compatibility issues with:
- Microsoft Internet Explorer >= 1.0
See the Browser Support Table (http://wiki.github.com/tobeytailor/gordon/browser-support-table/) for more details.
To use Gordon in your application, download the latest gordon.js
file from the Gordon downloads section (http://github.com/tobeytailor/gordon/downloads/) and copy it to your public javascripts directory. Include it in your HTML like this:
<script src="/path/to/gordon.js"></script>
Then create a new instance of the Gordon.Movie class somewhere in your page or included scripts and pass an URL of a valid SWF movie file as the first argument and an optional key-value object of attributes as the second argument.
Example:
<!DOCTYPE html>
<html>
<head>
<title>Gordon example</title>
</head>
<body>
<div id="your_stage">Replace me</div>
<script src="/path/to/gordon.js"></script>
<script>
var movie = new Gordon.Movie("/path/to/your.swf", {id: "your_stage", width: 480, height: 320});
</script>
</body>
</html>
Optional attributes and possible values:
-
id (string)
specifies the id of the HTML element containing your alternative markup which will be replaced by your movie content. -
width (number or string)
andheight (number or string)
specifies the dimensions of your movie in either pixels or percentage of browser window (defaults are given by the SWF settings). -
autoplay (boolean)
specifies whether your movie begins playing immediately on loading (default is true). -
loop (boolean)
specifies whether your movie repeats indefinitely or stops when it reaches the last frame (default is true). -
quality (string)
specifies the level of anti-aliasing to be used. Possible values arelow
,autolow
,autohigh
,medium
,high
andbest
(default ishigh
). -
scale (string)
specifies how your movie is placed in the viewport. Possible values areshowall
,noorder
andexactfit
(default isshowall
). -
bgcolor (string)
specifies the background color of your movie in the format #RRGGBB. Use this attribute to override the background color setting specified in the SWF file. -
renderer
specifies the rendering class to be used (default is Gordon.SvgRenderer). You can create a custom renderer by defining your own class (seesrc/svg_renderer.js
as a reference) and use this attribute to register it. -
onprogress (function)
… -
onreadystatechange (function)
… -
onenterframe (function)
…
Several demos can be found under http://wiki.github.com/tobeytailor/gordon/demos/.
gordon.js
is a composite and compressed file generated from many source files in the src/
directory. To build Gordon, you will need:
- a copy of the Gordon source tree from the Git repository
git@github.com:tobeytailor/gordon.git
- Ruby (http://www.ruby-lang.org/)
- Rake (http://rake.rubyforge.org/)
- Java, if you want to build a minified version of Gordon (http://java.sun.com/javase/downloads/)
In the main directory, type the following to make all versions of Gordon:
rake
OR
-
rake gordon
to process the Gordon source and generate the compositedist/gordon.js
-
rake min
to build the above file and the compresseddist/gordon.min.js
(using Closure Compiler)
You can remove all the built files using the command:
rake clean
Gordon is licensed under the terms of the MIT License, see the included MIT-LICENSE file.