Javascript In New Tab

By Mysteriously unknown Last update Jul 17, 2005 — Installed 2,245 times.
// ==UserScript==
// @name          Javascript In New Tab
// @namespace     http://www.arantius.com/misc/greasemonkey/
// @description	  When you middle-click a javascript: link, it will still work.
// @include       *
// ==/UserScript==

(function() {
var url=null, js=null;
//load originating page if we trapped a click before
if (url=GM_getValue('jsint-url', false)) {
	GM_setValue('jsint-url', false);
	document.location.assign(url);
	//document.location.href=url;
	return;
}
//run originating JS if we trapped a click before
if (js=GM_getValue('jsint-js', false)) {
	GM_setValue('jsint-js', false);
	window.addEventListener('load', function(){eval(js)}, true);
}

//function to notice when the mouse comes up
function trapMouseUp(ev) {
	//we only want to continue if the middle button was clicked
	if (1!=ev.button) return;

	var el=ev.target;
	GM_setValue('jsint-url', document.location.href);
	GM_setValue('jsint-js', el.href);
}

//attach trap to all javascript links
var els = document.evaluate('//a[starts-with(@href, "javascript:")]', 
	document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var el,i=0;
while (el=els.snapshotItem(i++)) {
	el.addEventListener('mouseup', trapMouseUp, false);
}
})();