Jump to content

Bookmarklet

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Feralfeline (talk | contribs) at 02:25, 21 September 2007 (Intro should delineate this element as within the realm of computer software and not rely on jargon terms to orient the reader). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A bookmarklet is a small JavaScript program stored as a URL within a bookmark in most popular web browsers, or stored within a hyperlink on a web page.

The term is a portmanteau of the terms bookmark and applet (a small application).

Concept

Web browsers use URIs for the href attribute of the <A> tag and for bookmarks. The first part of the URI, such as http:, file:, or ftp:, specifies the protocol and required form for the rest of the string. Browsers also implement a prefix javascript: that to a parser is just like any other URI. Internally, the browser sees that the protocol is javascript, treats the rest of the string as javascript code which is then executed, and uses the resulting string as the new page.

The executing script has access to the current page, which it may inspect and change. If the script returns an undefined type rather than a string, the browser will not load a new page, with the result that the script simply runs against the current page content. This permits in-place font size and color changes, for example, without a page reload.

Usage

Bookmarklets are saved and used as normal bookmarks. As such, they are simple "one-click" tools which add functionality to the browser. For example, they can:

  • Modify the appearance of a web page within the browser (e.g., change font size, background color, etc.).
  • Extract data from a web page (e.g., hyperlinks, images, text, etc.).
  • Query a search engine, with search term(s) provided by previously selected text, or by a dialog box.
  • Submit the current page to a link validation service, or translation service.

Before it can be used, a bookmarklet must be installed in a browser toolbar.[1] Automated installation is done by click+dragging a bookmarklet on a standard HTML web page, to the toolbar.[2] Limitations of Wiki software prevents displaying a live example here. Manual installation of a bookmarklet is performed by creating a new named bookmark in the toolbar following the browser's procedure, and pasting the code into the URL destination field.

History

Steve Kangas of www.bookmarklets.com coined the term "bookmarklet," which he started to create based on an idea suggested in the Netscape JavaScript Guide. The term favelet was used early on by Tantek Çelik on 6 September 2001 (personal email). Brendan Eich, who developed JavaScript at Netscape, gave this account of the origin of bookmarklets:

They were a deliberate feature in this sense: I invented the javascript: URL along with JavaScript in 1995, and intended that javascript: URLs could be used as any other kind of URL, including being bookmark-able.

In particular, I made it possible to generate a new document by loading, e.g. javascript:'hello, world', but also (key for bookmarklets) to run arbitrary script against the DOM of the current document, e.g. javascript:alert(document.links[0].href). The difference is that the latter kind of URL uses an expression that evaluates to the undefined type in JS. I added the void operator to JS before Netscape 2 shipped to make it easy to discard any non-undefined value in a javascript: URL.

— Brendan Eich, email to Simon Willison[3]

See also

References

  1. ^ Depending on browser version, some bookmarklets will work from within a browser's general Bookmarks list, but many will not.
  2. ^ Links bar in Internet Explorer, or Bookmarks Toolbar in Firefox.
  3. ^ Email from Brendan Eich Sitepoint.com. Simon Willison (Skunk), April 10th, 2004. Retrieved 2007-04-22.