BookmarkletA bookmarklet is a bookmark stored in a web browser that contains JavaScript commands that add new features to the browser. They are stored as the URL of a bookmark in a web browser or as a hyperlink on a web page. Bookmarklets are usually small snippets of JavaScript executed when user clicks on them. When clicked, bookmarklets can perform a wide variety of operations, such as running a search query from selected text or extracting data from a table. Another name for bookmarklet is favelet or favlet, derived from favorites (synonym of bookmark).[1] HistorySteve Kangas of bookmarklets.com coined the word bookmarklet[2] when he started to create short scripts based on a suggestion in Netscape's JavaScript guide.[3] Before that, Tantek Çelik called these scripts favelets and used that word as early as on 6 September 2001 (personal email[clarification needed]). Brendan Eich, who developed JavaScript at Netscape, gave this account of the origin of bookmarklets:
The increased implementation of Content Security Policy (CSP) in websites has caused problems with bookmarklet execution and usage (2013-2015),[5] with some suggesting that this hails the end or death of bookmarklets.[6][7] William Donnelly created a work-around solution for this problem (in the specific instance of loading, referencing and using JavaScript library code) in early 2015 using a Greasemonkey userscript (Firefox / Pale Moon browser add-on extension) and a simple bookmarklet-userscript communication protocol.[8] It allows (library-based) bookmarklets to be executed on any and all websites, including those using CSP and having an https:// URI scheme. Note, however, that if/when browsers support disabling/disallowing inline script execution using CSP, and if/when websites begin to implement that feature, it will "break" this "fix". ConceptWeb browsers use URIs for the The executing script has access to the current page, which it may inspect and change. If the script returns an undefined type (rather than, for example, 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 changes such as in-place font size and color changes without a page reload. An immediately invoked function that returns no value or an expression preceded by the javascript:(function(){
//Statements returning a non-undefined type, e.g. assignments
})();
UsageWikibooks has a book on the topic of: JavaScript/Bookmarklets 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:
Installation"Installing" a bookmarklet allows you to quickly access and run JavaScript programs with a single click from your browser's bookmarks bar. Follow these detailed steps to install a bookmarklet: Method 1: Creating a New Bookmark
Method 2: Dragging and Dropping
Running the BookmarkletTo use the bookmarklet, simply click on its icon or name in your bookmarks bar. The JavaScript code will execute immediately on the current webpage you are viewing. Make sure the webpage is fully loaded before using the bookmarklet for optimal performance. Tips
ExampleThis example bookmarklet performs a Wikipedia search on any highlighted text in the web browser window. In normal use, the following JavaScript code would be installed to a bookmark in a browser[13] bookmarks toolbar. From then on, after selecting any text, clicking the bookmarklet performs the search. javascript:(function() {
function se(d) {
return d.selection ? d.selection.createRange().text : d.getSelection()
}
var s = se(document);
for (var i=0; i<frames.length && (s==null || s==''); i++) s = se(frames[i].document);
if (!s || s=='') s = prompt('Enter%20search%20terms%20for%20Wikipedia','');
open('https://en.wikipedia.org' + (s ? '/w/index.php?title=Special:Search&search=' + encodeURIComponent(s) : '')).focus();
})();
Bookmarklets can modify the location, e.g. to save a web page to the Wayback Machine, javascript:location.href='https://web.archive.org/save/'+document.location.href;
Open a new web browser window or tab, e.g. to show the source of a web resource if the web browser supports the view-source URI scheme, javascript:void(window.open('view-source:'+location));
Show info related to the current URL, e.g., javascript:alert('\tdocument.URL\n'+document.URL+'\n\tdocument.lastModified\n'+document.lastModified+'\n\tlocation\n'+location);
References
External links
|