MDCの日本語ドキュメントへのリンクのとなりに英語ドキュメントへのリンクを追加するスクリプト

 表題通りのものを書いた。というか、肝腎な部分はほとんどこちらからの引き写し。ありがとうございます。要 Greasemonkey

// ==UserScript==
// @name           MDC_j_and_eDoc
// @namespace      http://d.hatena.ne.jp/t-sat/
// @include        https://developer.mozilla.org/ja/*
// ==/UserScript==
function isSelfLink(url){
	var now = chop(document.location.href);
	var dest = chop(url.href);

	if(dest == now){
		return true;
	}
	return false;
}

function chop(url){
	var maskNameAttr = /^https.*#/;
	var retURL = url.match(maskNameAttr)
	if(retURL){
		return retURL[0].slice(0, -1);
	}
	return url;
}

var links = document.getElementsByTagName('a'),
	elemS = document.createElement('span'),
	jaLocation = /^https:\/\/developer\.mozilla\.org\/ja/i,
	enLocation = 'https://developer.mozilla.org/en';

elemS.setAttribute("style", "font-size: 90%");
elemS.innerHTML = " [<a>en</a>]";

for(var i = 0; i < links.length; ++i){
	if(jaLocation.test(links[i])){
		var link = links[i];

		if(!isSelfLink(link)){
			var engLink = elemS.cloneNode(true);
			engLink.childNodes[1].href = link.href.replace(jaLocation, enLocation);
			link.parentNode.insertBefore(engLink, link.nextSibling);
		}
	}
}

 始めは日本語ドキュメントが書かれていないリンクを英語ドキュメントへのリンクに置き換えるものを書いたのだけれど「これは良くない」と何かがささやくのと、翻訳済みの文書であっても元々のものが見たいときもあるので一律に扱う事にした。多少うるさい感じもするけど気にしない事にする。