.. index:: Release notes
SlimerJS 0.7 has been released on June 10, 2013.
Many improvements have been made to have a better compatibility with PhantomJS, although it is not 100% compatible yet.
- Implementation of
require.paths
, a list of paths where modules can be found (CommonJS modules 1.1 specification) - Implementation of
require.globals
, an object which can contain properties that will be shared between modules as global variables/functions/objects. - Implementation of
require.extensions
, to declare specific loaders corresponding to some file extensions - Implementation of
phantom.defaultPageSettings
. Note that settings are not supported yet by the webpage module. - callbacks
webpage.onLoadStarted
andwebpage.onLoadFinished
receive two additionnal parameters: the url that is loaded, and a boolean true if the loaded page is in a frame. - Support of
webpage.onCallback
andwindow.callPhantom()
- Support of
webpage.onError
- Support of
webpage.onNavigationRequested
andwebpage.navigationLocked
- Support of
webpage.customHeaders
- Support of
webpage.settings.userAgent
- Support of
webpage.openUrl()
- Implementation of setters of
webpage.content
andwebpage.frameContent
- Implementation of
webpage.setContent()
- Implementation of
webpage.release()
(deprecated method in PhantomJS, replaced bywebpage.close()
.
- Issue #36: Support of scripts and modules written with the Coffee-Script language
- Support of JSON modules
- Issue #32: a new profile is created each time we launch SlimerJS, to not have preferences, cookies or other data created by a previous launch. It is still possible to use a permanent profile to keep data between two launchs.
- new option on the commande line: --error-log-file=filename to log errors in a file
- when we launched SlimerJS from a symbolic link, there was an error "application.ini path not recognized"
- issue #15: Slimerjs freezed on JS errors, when calling
webpage.evaluate()
. A default error handler is used now. - issue #36: Exit code of Firefox/Xulrunner should be used as exit code of the slimerjs shell script
- Modules have now access to global objects like window, phantom, document...
- Changed fs.workingDirectory from a method to a property, even if it violates the CommonsJS filesystem specification.
webpage.injectJs()
andphantom.injectJs()
now return a boolean and try to load the given file from the current working dir before from the library path, like PhantomJS does.- callbacks
webpage.onLoadStarted
andwebpage.onLoadFinished
are called when a frame is loading a new document inside the web page. - Issue #11: support of all possible arguments on webpage.open()
- The webserver guesses now the content type of some files (images..)
Here are the PhantomJS APIs that are missing in SlimerJS 0.7. Of course, their implementation is planed in future releases.
- most of options for the command line are not supported
- no API to manage HTTP cookies, although cookies are supported (they are stored automatically)
- no support of the
webpage.offlineStorage*
properties, although offlineStorage is supported natively and usable by a web page - no API to manage child windows
- no support of settings on the webpage object
- no support of file uploading in web page (
webpage.uploadFile()
,webpage.onFilePicker
..) - no support of Ghost Driver
You can read the compatibility table to know details.
- See the github page ...