FAQ

Or Frequently Asked Questions...

Why is it not natively headless?
You see windows during the execution of your script? It's normal. Gecko, the rendering engine of Firefox, cannot render web content without a graphical window.
You can launch SlimerJS with xvfb if you are under linux or MacOSx, to have a headless SlimerJS.
There is a hope for future release of SlimerJS, with latest improvements made in Gecko.
What is Gecko?
Gecko is the core engine of Firefox
To which version of Firefox, SlimerJS is compatible?
It depends of the package you downloaded. If you choosed a package dedicated to a specific plateform, SlimerJS embed Gecko 25. So it is compatible with Firefox 25.
If you choose the lightweight package, it runs with your Firefox, so it can run with any version since Firefox 20 (probably lower versions but you could have some issues; Not tested).
Note that officially, SlimerJS is only compatible with stable versions of Firefox.
Can SlimerJS be executed with unstable version of Firefox?
Yes, if you do some changes. This is explained in the installation manual.
Can CasperJS be launched with SlimerJS?
Yes, since SlimerJS 0.8, and with CasperJS 1.1beta1 or higher. Just launch CasperJS as usual by adding --engine=slimerjs on the command line.
The rendering of my web site is not really like in my favorite browser. Even in Firefox
A browser is very complex program. The final rendering (the appearance of the web page) depends on many different things:
  • The browser engine (Gecko vs Webkit vs Presto vs Blink vs....)
  • The version of the browser engine (improvements and bug fixes are made in each version of a browser)
  • The library used to draw graphics: depending the operating system the browser is on, it uses a different graphics backend. For example, Firefox uses the Cairo library, which uses DirectX on windows, or other libraries on Linux or MacOs. So there are different algorithm, different implementations, to draw the same thing.
  • The accelerated graphic cards: a browser can use hardware implementation or can use software implementations if the graphic cards has no accelerated graphic chipset. So different algorithm, different implementations: different results.
  • To draw font (if the web page doesn't use web fonts), it depends on the installed fonts
  • Etc...
So, don't expect to have exactly the same results between any browser and SlimerJS. Moreover, SlimerJS uses exactly the same rendering engine as Firefox: if you use the lighweight edition, it uses Firefox itself, and for other editions, it uses XulRunner, downloaded directly from Mozilla servers (and so built by Mozilla, exactly the same way they build Firefox). At least, the rendering with SlimerJs may be exactly the same as with Firefox (same gecko version, on the same operating system). However you could have some difference in some extrem case (high zooming for example) and with different operating system (even it is the same gecko version).
You can speak with us about rendering issues, on the mailing list.
Why is it called "SlimerJs"?
Slimer is the name of a ghost in the movie "GhostBusters". As you may know, the Firefox source code uses some references from this movie, and since PhantomJS, CasperJs and other related tools, is a matter of ghosts... ;-)
I found some English errors on the web site or in the documentation
Our apologizes for that. English is not the mother tong of the main author. And he didn't work enough at school at english course :). However, he will be very happy to receive your help to fix English errors. See below how to contribute :-)
How can I contribute?
You can contribute in many ways:
Is there a build of SlimerJS containing latest improvements?
Yes, each days a build is made from the "master" branch and the stable branch of the source code. This is nightly builds. Since these are versions in development, don't use them in production.
Download the archive from the stable branch (which contains only latest bug fixes) or from the master branch (which contains latest improvements for the futur major release). You can view the documentation from the master branch online here.
Why are there no tests on the WebServer object in the source code?
This module is based on the httpd component of Mozilla used for their own unit tests, and that is already heavily tested
Why are there no tests on the FileSystem object in the source code?
This module is based on the file module provided in the Mozilla Addons SDK, and is already tested.