User Tools

Site Tools


bookmarklet_--_open_all_image_links

This is an old revision of the document!


Bookmarklets are cool. They're javascript in a bookmark form, and they look like this:

javascript:(function(){
	//code
})();

You can read or modify the current page by referring to document.whatever. Here's one that opens a new tab with all image links from a page:

javascript:(function(){
	/* This regex was adapted from the BrowseImages extension for Firefox. */
	var regex= new RegExp('(\\.jpg$|\\.jpg[&;])|(\\.gif$|\\.gif[&;])|(\\.png$|\\.png[&;])|(\\.jpeg$|\\.jpeg[&;])|(\\.bmp$|\\.bmp[&;])|(\\.svg$|\\.svg[&;])|(\\/full\\.php\\?.*ima?ge?=)|(\\/preview\\.php\\?.*ima?ge?=)|(\\/view\\.php\\?.*ima?ge?=)|(\\/view\\.php\\?.*pic=)|(\\/view\\.showImage\\.php)|(album_pic\\.php?pic_id=)|(\\dchan\\.org\\/.*\\/cb-nws\\/)|(\\dchan\\.org\\/.*src\\.cgi)|(attachment\\.php\\?attachmentid=\\d+&d=\\d+)', "i");
	var doc = "data:text/html,<html><head><title>Images of '"+document.title+"'</title></head>";
	doc += "<body style='text-align:center; font-family: Verdana, sans-serif; font-size:80%;'><H1>Images of <a href='"+document.URL+"'>"+document.title+"</a></h1>";
	for(var i = 0; i < document.links.length; i++) {
		link = document.links[i].href;
		if (link.match(regex)) {
			doc += "<img src='"+link+"'><br>\n";
			doc += "<a href='"+link+"'>"+link+"</a><p>";
		}
	}
	doc += "</body></html>\n";
	open(doc);
})();

You can install a new bookmarklet from scratch by copying the code in question, creating a new bookmark, and pasting the content into the location field (Firefox will take care of newlines and other issues automatically). You can give them out just by making a link (but you'll have to escape a bunch of stuff, and I never bothered with that).

bookmarklet_--_open_all_image_links.1303706628.txt.gz · Last modified: 2011/04/24 21:43 by tkbletsc

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki