2006-11-14 11:13:11 -05:00
|
|
|
Methods
|
|
|
|
-------
|
|
|
|
|
|
|
|
do_file(path)
|
|
|
|
|
|
|
|
Load and evaluate the file with the given path (string). For example:
|
|
|
|
|
|
|
|
do_file("/home/me/.elinks/hooks.js");
|
|
|
|
|
|
|
|
will reload your hooks file.
|
|
|
|
|
|
|
|
|
|
|
|
elinks.alert(message)
|
|
|
|
|
|
|
|
Display the given message (string) in a message box. For example:
|
|
|
|
|
|
|
|
elinks.alert("Hello, world!");
|
|
|
|
|
|
|
|
will display a friendly greeting.
|
|
|
|
|
|
|
|
|
|
|
|
elinks.execute(command)
|
|
|
|
|
|
|
|
Execute the given command (string) on the current terminal. For example:
|
|
|
|
|
|
|
|
var quoted_uri = "'" + elinks.location.replace(/'/g, "'\\''") + "'";
|
|
|
|
elinks.execute("firefox " + quoted_uri);
|
|
|
|
|
|
|
|
will run Firefox with the URI of the current document.
|
|
|
|
|
|
|
|
Note: one must be very careful with elinks.execute, because depending
|
|
|
|
on the OS, the command may be subject to interpretation by a command shell
|
|
|
|
language. When constructing the command string, be sure to quote any
|
|
|
|
dubious parts (such as the URI of the current document, as above).
|
|
|
|
|
|
|
|
|
|
|
|
elinks.load_uri(uri, callback)
|
|
|
|
|
|
|
|
Load the given URI (string). When the URI completes loading, ELinks calls
|
|
|
|
the given callback (function). The callback is passed the cache object
|
|
|
|
that corresponds to the URI. For example:
|
|
|
|
|
|
|
|
elinks.load_uri("http://www.eldar.org/cgi-bin/fortune.pl?text_format=yes",
|
|
|
|
function (cached) { elinks.alert(cached.content); });
|
|
|
|
|
|
|
|
displays a fortune.
|
|
|
|
|
2008-07-08 08:13:45 -04:00
|
|
|
The cache object will not expire until after the callback returns.
|
|
|
|
|
2006-11-14 11:13:11 -05:00
|
|
|
|
|
|
|
Properties
|
|
|
|
----------
|
|
|
|
|
|
|
|
elinks.home (string)
|
|
|
|
|
|
|
|
ELinks's 'home' directory, where it stores its configuration files.
|
|
|
|
Read-only. For example,
|
|
|
|
|
|
|
|
do_file(elinks.home + "hooks.js");
|
|
|
|
|
|
|
|
will reload your hooks file.
|
|
|
|
|
|
|
|
|
|
|
|
elinks.location (string)
|
|
|
|
|
|
|
|
The URI of the currently open document. This can be read to get a string
|
|
|
|
with the URI or set to load a different document. For example,
|
|
|
|
|
|
|
|
elinks.location = elinks.location + "/..";
|
|
|
|
|
|
|
|
will go up a directory (if the URI doesn't end in a file).
|
|
|
|
|
|
|
|
|
|
|
|
elinks.bookmarks (hash)
|
|
|
|
|
|
|
|
This is a hash, the elements of which correspond to the bookmarks.
|
|
|
|
One can delve into the bookmarks hierarchy in a reasonably nifty
|
|
|
|
fashion, just by using standard ECMAScript syntax:
|
|
|
|
|
|
|
|
elinks.bookmarks.x.children.y.children.z.children.foo.title
|
|
|
|
|
|
|
|
gets the title of the bookmark titled 'foo' under the folder 'z',
|
|
|
|
which is a subfolder of 'y', which is a subfolder of 'x'.
|
|
|
|
|
|
|
|
A bookmark object has these properties:
|
|
|
|
|
|
|
|
item.title (string)
|
|
|
|
|
|
|
|
This is the title of the bookmark. It can be read and set.
|
|
|
|
|
|
|
|
item.url (string)
|
|
|
|
|
|
|
|
This is the URI of the bookmark. It can be read and set.
|
|
|
|
|
|
|
|
item.children (hash)
|
|
|
|
|
|
|
|
This is a hash, the elements of which are the bookmarks that
|
|
|
|
are children to the item. It is read-only.
|
|
|
|
|
|
|
|
|
|
|
|
elinks.globhist (hash)
|
|
|
|
|
|
|
|
This is a hash, the elements of which correspond to entries in ELinks's
|
|
|
|
global history. The hash is indexed by URI. For example,
|
|
|
|
|
|
|
|
elinks.globhist["file:///"]
|
|
|
|
|
|
|
|
will get you the history item for your root directory.
|
|
|
|
|
|
|
|
A history item has these properties:
|
|
|
|
|
|
|
|
item.title (string)
|
|
|
|
|
|
|
|
This is the title of the history item. It can be read and set.
|
|
|
|
|
|
|
|
item.url (string)
|
|
|
|
|
|
|
|
This is the URI of the history item. It can be read and set.
|
|
|
|
|
|
|
|
item.last_visit (number)
|
|
|
|
|
|
|
|
This is the UNIX time of the last visit time for the item. UNIX time
|
|
|
|
is the number of seconds that have passed between the UNIX epoch (which
|
|
|
|
is 1970-01-01 00:00:00 UTC) and the represented time. Note that this is
|
|
|
|
_seconds_ since the epoch, whereas ECMAScript likes to use _milliseconds_
|
|
|
|
since the epoch. This property can be set or read.
|
|
|
|
|
|
|
|
|
|
|
|
elinks.keybinding (hash)
|
|
|
|
|
|
|
|
This is a hash, the elements of which correspond to ELinks's keymaps.
|
|
|
|
Currently, there are three: elinks.keybinding.main, elinks.keybinding.edit,
|
|
|
|
and elinks.keybinding.menu. These elements are also hashes, the elements of
|
|
|
|
which correspond to bindings. For example, elinks.keymaps.main["q"] is
|
|
|
|
the binding to the 'q' key in the main map. These bindings can be red,
|
|
|
|
to get the name of the action to which the key is bound, or set, either
|
|
|
|
to a string with the name of the ELinks action or to a function, which will
|
|
|
|
thenceforth be called when the key is pressed. For example,
|
|
|
|
|
|
|
|
elinks.keymaps.main["!"] = function () { elinks.alert("Hello!"); }
|
|
|
|
|
|
|
|
binds the '!' key in the main map to a function that displays a friendly
|
|
|
|
alert.
|
|
|
|
|
|
|
|
elinks.keymaps.main["/"] = "search-typeahead-text";
|
|
|
|
|
|
|
|
changes the '/' key to use the nice typeahead search function instead of
|
|
|
|
opening that ugly old search dialogue box.
|
|
|
|
|
|
|
|
|
|
|
|
Hooks
|
|
|
|
-----
|
|
|
|
|
|
|
|
These are actually properties, but a special case: one assigns functions
|
|
|
|
to them, which functions are called at certain events.
|
|
|
|
|
|
|
|
Note that the default hooks file 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(cached, vs)
|
|
|
|
|
|
|
|
This function is called every time a document is loaded, before the document
|
|
|
|
is actually rendered, to give scripts the opportunity to modify it. The
|
|
|
|
first parameter is the cache object and the second is the view_state object
|
|
|
|
(documented below). As explained above, it is preferred to add your hook
|
|
|
|
to elinks.preformat_html_hooks rather than to assign it to
|
|
|
|
elinks.preformat_html.
|
|
|
|
|
2008-07-08 08:13:45 -04:00
|
|
|
The cache object will not expire until after this function returns.
|
|
|
|
|
2006-11-14 11:13:11 -05:00
|
|
|
|
|
|
|
elinks.goto_url_hook(url)
|
|
|
|
|
|
|
|
This function is called every time the user enters something
|
|
|
|
in the Go to URL box. The url (string) can be modified or not,
|
|
|
|
and the returned string is substituted for what the user entered.
|
|
|
|
If the value false is returned, the URL is not changed and further hooks
|
|
|
|
in ELinks are not run. As explained above, it is preferred to add your hook
|
|
|
|
to elinks.goto_url_hooks rather than to assign it to elinks.goto_url_hook.
|
|
|
|
|
|
|
|
|
|
|
|
elinks.follow_url_hook(url)
|
|
|
|
|
|
|
|
This function is called every time the user tries to load a document,
|
|
|
|
whether by following a link, by entering a URI in the Go to URL box,
|
|
|
|
by setting elinks.location, or whatever. It behaves the same as
|
|
|
|
elinks.goto_url_hook above. As explained above, it is preferred to add your
|
|
|
|
hook to elinks.follow_url_hooks rather than to assign it to
|
|
|
|
elinks.follow_url_hook.
|
|
|
|
|
|
|
|
Other Objects
|
|
|
|
-------------
|
|
|
|
|
|
|
|
cache
|
|
|
|
|
|
|
|
The cache object mentioned in the descriptions of elinks.load_uri and
|
|
|
|
elinks.preformat_html is a wrapper for the internal ELinks cache object.
|
2008-07-08 08:13:45 -04:00
|
|
|
ELinks passes the ECMAScript cache object as an argument to your
|
|
|
|
ECMAScript function, and keeps the corresponding document in the
|
|
|
|
cache until the function returns. After that, ELinks may remove the
|
|
|
|
document from the cache, even if the function has saved the cache
|
|
|
|
object to some global variable. Such an expired cache object does
|
|
|
|
not work but it does not crash ELinks either.
|
|
|
|
|
|
|
|
The properties of the cache object are:
|
2006-11-14 11:13:11 -05:00
|
|
|
|
|
|
|
cached.content (string)
|
|
|
|
|
|
|
|
This is the content received from the server. It can be read and set.
|
|
|
|
|
|
|
|
cached.type (string)
|
|
|
|
|
|
|
|
This is the MIME type of the cache entry. It can be read and set.
|
|
|
|
|
|
|
|
cached.length (number)
|
|
|
|
|
|
|
|
This is the length of cached.content. It is read-only.
|
|
|
|
|
|
|
|
cached.head (string)
|
|
|
|
|
|
|
|
This is the header received from the server. It can be read and set.
|
|
|
|
|
|
|
|
cached.uri (string)
|
|
|
|
|
|
|
|
This is the URI of the cache entry. It is read-only.
|
|
|
|
|
|
|
|
view_state
|
|
|
|
|
|
|
|
The view_state object mentioned in the description of elinks.preformat_html
|
|
|
|
is a wrapper for the internal ELinks view_state object. The view state holds
|
|
|
|
information on how the current document is being displayed.
|
|
|
|
|
|
|
|
vs.plain (boolean)
|
|
|
|
|
|
|
|
Whether the current document is rendered as HTML or displayed
|
|
|
|
as plaintext. This can be read and set.
|
|
|
|
|
|
|
|
vs.uri (string)
|
|
|
|
|
|
|
|
This is the URI of the current document. It is read-only.
|