利用者:Marine-Blue/navlink.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/*

////////////////////////////////////////////////////////////////////////////////////////
//
//  navlink.js
//
//  last update 2011-01-21
//
////////////////////////////////////////////////////////////////////////////////////////

ナビゲーションリンクを提供するスクリプト。

*/

function mwNavigationBar() {
	var pageHeader      = document.getElementsByTagName("head")[0];
	var pageContent     = document.getElementById("bodyContent");
	var pageContentLink = pageContent.getElementsByTagName("a");
	return; //  [[phab:T72470]]
	
	if(wgCanonicalNamespace == "Special" || wgAction == "history") {
		
		// 最初
		for(i = 0; i < pageContentLink.length; i++) {
			if(pageContentLink[i].className == "mw-firstlink") {
				firstLink = pageContentLink[i];
				var firstLinkHead = document.createElement("link");
				firstLinkHead.setAttribute("rel","first");
				firstLinkHead.setAttribute("href",firstLink.href);
				if(document.textContent) {
					firstLinkHead.setAttribute("title",firstLink.textContent);
				}
				pageHeader.appendChild(firstLinkHead);
				break;
			}
		}
		
		// 最後
		for(i = 0; i < pageContentLink.length; i++) {
			if(pageContentLink[i].className == "mw-lastlink") {
				lastLink = pageContentLink[i];
				var lastLinkHead = document.createElement("link");
				lastLinkHead.setAttribute("rel","last");
				lastLinkHead.setAttribute("href",lastLink.href);
				if(document.textContent) {
					lastLinkHead.setAttribute("title",lastLink.textContent);
				}
				pageHeader.appendChild(lastLinkHead);
				break;
			}
		}
		
		// 前へ
		for(i = 0; i < pageContentLink.length; i++) {
			if(pageContentLink[i].className == "mw-prevlink") {
				prevLink = pageContentLink[i];
				var prevLinkHead = document.createElement("link");
				prevLinkHead.setAttribute("rel","prev");
				prevLinkHead.setAttribute("href",prevLink.href);
				if(document.textContent) {
					prevLinkHead.setAttribute("title",prevLink.textContent);
				}
				pageHeader.appendChild(prevLinkHead);
				break;
			}
		}
		
		// 次へ
		for(i = 0; i < pageContentLink.length; i++) {
			if(pageContentLink[i].className == "mw-nextlink") {
				nextLink = pageContentLink[i];
				var nextLinkHead = document.createElement("link");
				nextLinkHead.setAttribute("rel","next");
				nextLinkHead.setAttribute("href",nextLink.href);
				if(document.textContent) {
					nextLinkHead.setAttribute("title",nextLink.textContent);
				}
				pageHeader.appendChild(nextLinkHead);
				break;
			}
		}
	}
	
	
	// ヘルプ
	if(document.getElementById("n-help")) {
		helpLink = document.getElementById("n-help").getElementsByTagName("a")[0];
		var helpLinkHead = document.createElement("link");
		helpLinkHead.setAttribute("rel","help");
		helpLinkHead.setAttribute("href",helpLink.href);
		if(document.textContent) {
			helpLinkHead.setAttribute("title",helpLink.textContent);
		}
		pageHeader.appendChild(helpLinkHead);
	}
	
	// トップ
	var topLink = wgArticlePath.replace(/\$1/g,"");
	var topLinkHead = document.createElement("link");
	topLinkHead.setAttribute("rel","start");
	topLinkHead.setAttribute("href",topLink);
	
	if(document.textContent) {
		topLinkTitle = document.getElementById("n-mainpage").getElementsByTagName("a")[0];
		topLinkHead.setAttribute("title",topLinkTitle.textContent);
	}
	pageHeader.appendChild(topLinkHead);
	
	// 親ページ
	var contSub = document.getElementById("contentSub").getElementsByTagName("span")[0];
	if(contSub) {
		if(contSub.className == "subpages") {
			var parentNav = contSub.getElementsByTagName("a");
			parentPage = parentNav[parentNav.length - 1];
			var parentLinkHead = document.createElement("link");
			parentLinkHead.setAttribute("rel","up");
			parentLinkHead.setAttribute("href",parentPage.href);
			if(document.textContent) {
				parentLinkHead.setAttribute("title",parentPage.textContent);
			}
			pageHeader.appendChild(parentLinkHead);
		}
	}
}

$(mwNavigationBar);