読者です 読者をやめる 読者になる 読者になる

LDRですべての外部リンクをバックグラウンドタブで開くUserScripts

UserScripts

Greasemonkeyでも動くようにしましたが、一応Google Chrome用です。
LDR open in background tab for Greasemonkey

Operaで「ポップアップをバックグラウンドで開く」に設定した場合と同じ動作になっているはずです。

仕組みとしては、nativeのwindow.openを上書きして、a要素を作ってミドルクリックのイベントを投げる方式です。将来的に動かなくなる可能性が高い、グレーなテクニックです。

window.open = function(url,name){
	var a = document.createElement('a');
	a.href = url;
	if (name) a.target = name;
	var event = document.createEvent('MouseEvents');
	event.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 1, null);
	a.dispatchEvent(event);
	return true;
};

普通にa要素をクリックした場合、documentのクリックイベントを監視して、targetがhrefを持ってて、さらに_blank指定だったらpreventDefaultでデフォルト動作を止め、上のwindow.openを呼んでいます。

document.addEventListener('click',function(evt){
	if (evt.target.href && evt.target.target === '_blank'){
		evt.preventDefault();
		window.open(evt.target.href,'_blank');
	}
},false);

あと、おまけでmalaさんのv、p押したときにスクロールするScriptも盛り込んでます。
ほんとは混ぜるべきではないんだけど、Scriptは増やしたくないのでつい。(オリジナルがどこにあったかわからないし…)

Chrome Full Feed ver 0.0.1 - 枕を欹てて聴くもあるので、Dev版ChromeでのLDRは十分に快適です。

FirefoxでGM_openInTabした後にreturn true;するのを忘れていました…。 id:iwadonすみません