MediaWiki:Monobook.js
出典: Knatech
お知らせ: 保存した後、ブラウザのキャッシュをクリアする必要があります。
- Mozilla / Firefox / Safari: [Shift] を押しながら [再読み込み] をクリック、または [Ctrl]-[F5] か [Ctrl]-[R] (Macintoshでは [Cmd]-[Shift]-[R])
- IE: [Ctrl] を押しながら [更新] をクリック、または [Ctrl]-[F5]
- Konqueror: [再読み込み] をクリック、または [F5]
- Opera: 「ツール」→「設定」からキャッシュをクリア。
/* ここに記述したJavaScriptはモノブック・スキンの利用者に影響します */
addOnloadHook(function() {
//createTitle();
createSidebarImage();
//createOpenArenaStatus();
});
function createTitle() {
var contentNode = document.getElementById("content");
var headNodes = contentNode.getElementsByTagName("h1");
var titleNode = null;
var numHeadNodes = headNodes.length;
for (var i = 0; i < numHeadNodes; i++) {
var headNode = headNodes[i];
if (headNode.className == "firstHeading") {
titleNode = headNode;
break;
}
}
var newTitle = "";
var sepPos = wgPageName.lastIndexOf("/");
if (sepPos == -1)
newTitle = wgPageName;
else
newTitle = wgPageName.substring(sepPos + 1, wgPageName.length);
newTitle = newTitle.replace(/_/g, " ");
if (titleNode.textContent)
titleNode.textContent = newTitle;
else
titleNode.innerText = newTitle;
}
function createSidebarImage() {
var portletNode = document.getElementById("p-navigation");
var portletBodyNode = portletNode.getElementsByTagName("div")[0];
var linkList = portletBodyNode.getElementsByTagName("ul")[0];
linkList.style.marginLeft = "0px";
linkList.style.listStyleType = "none";
var linkListItems = linkList.getElementsByTagName("li");
var numLinks = linkListItems.length;
for (var i = 0; i < numLinks; i++) {
var linkListItem = linkListItems[i];
var link = linkListItem.getElementsByTagName("a")[0];
var url = link.href;
var pageName = url.substring(url.lastIndexOf("/") + 1);
if (pageName != "Music" &&
pageName != "Brain" &&
pageName != "OpenArena") {
continue;
}
var imageFileName = "/wiki/skins/monobook/custom/" + pageName +
".png";
link.innerHTML = "<img src='" + imageFileName + "' width='135px' " +
"height='50px' alt='" + pageName + "' />";
link.style.paddingTop = "3px";
link.style.paddingBottom = "3px";
link.style.display = "block";
//link.style.position = "relative";
}
}
function createOpenArenaStatus() {
var oaNode = document.getElementById("p-openarena");
if (wgCanonicalNamespace == "Special" &&
wgCanonicalSpecialPageName == "ServerStatus") {
oaNode.style.display = "none";
return;
}
var oaTitleNode = oaNode.getElementsByTagName("h5")[0];
oaTitleNode.innerHTML = "<a href='/Special:ServerStatus'>OpenArena</a>";
var sidebarNode = document.getElementById("column-one");
sidebarNode.removeChild(oaNode);
var toolboxNode = document.getElementById("p-tb");
sidebarNode.insertBefore(oaNode, toolboxNode);
sajax_do_call("wfServerStatusGetStatus", ["oa085ffa"],
function(resp) {
var testBodyNode = oaNode.getElementsByTagName("div")[0];
testBodyNode.innerHTML = "<div><a href='/Special:ServerStatus'>" +
"LemonSoda FFA</a></div>\n" + resp.responseText;
});
}
