MediaWiki:ExtraPortlet.js
Catatan: Setelah menerbitkan, Anda mungkin perlu melewati tembolok peramban web Anda untuk melihat perubahan.
- Firefox/Safari: Tekan dan tahan Shift sembari mengeklik Reload, atau tekan Ctrl-F5 atau Ctrl-R (⌘-R di Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R di Mac)
- Edge: Tahan Ctrl sembari mengeklik Refresh, atau tekan Ctrl-F5
/* <pre> */
/**
* Variable declaration
*/
var tabNsUser = 'Pengguna:';
var tabNsUserTalk = 'Bicara_Pengguna:';
var labelEditCount = 'Jumlah suntingan';
var labelPurge = 'Hapus singgahan';
var labelPortlet = 'Peralatan tambahan';
var urlEditCount = 'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=idwikibooks_p&user=';
/*
* Create tidy title
*/
function getTidyTitle() {
var editlk = document.getElementById('ca-edit');
if (editlk == null) {
editlk = document.getElementById('ca-viewsource');
if (editlk == null) {
editlk = document.getElementById('ca-article');
}
}
editlk = editlk.getElementsByTagName('a')[0].href;
if (editlk.indexOf('title=') >= 0) {
editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.indexOf('&'));
} else {
editlk = editlk.substring(editlk.indexOf('/wiki/') + 6);
}
return editlk;
}
/*
* Add link
*/
function addLink(name, url) {
var na = document.createElement('a');
var txt = document.createTextNode(name);
var nli = document.createElement('li');
na.setAttribute('href', url);
na.appendChild(txt);
nli.setAttribute('class', 'p-newlinks');
nli.appendChild(na);
return nli;
}
/*
* Create portlet
*/
function ExtraPortlet() {
var ndivportlet = document.createElement('div');
var ndivpbody = document.createElement('div');
var colone = document.getElementById('column-one');
var nul = document.createElement('ul');
var title = document.createElement('h5');
var interwiki = document.getElementById('p-lang');
var pageName = getTidyTitle();
ndivportlet.className = 'portlet';
ndivportlet.id = 'p-newlinks';
ndivpbody.className = 'pBody';
nul.setAttribute('id', 'p-newlinks');
nul.appendChild(addLink(labelPurge, '/wiki/' + pageName + '?action=purge'));
if (pageName.indexOf(tabNsUser) == 0 || pageName.indexOf(tabNsUserTalk) == 0) {
pageName = pageName.substring(pageName.indexOf(':') + 1);
pageName = pageName.replace(/\/.*$/, '');
nul.appendChild(addLink(labelEditCount, urlEditCount + pageName));
}
title.appendChild(document.createTextNode(labelPortlet));
ndivportlet.appendChild(title);
ndivpbody.appendChild(nul);
ndivportlet.appendChild(ndivpbody);
if (interwiki == null) {
colone.appendChild(ndivportlet);
} else {
colone.insertBefore(ndivportlet, interwiki);
}
}
/*
* Hook portlet on load
*/
if (window.addEventListener)
window.addEventListener("load", ExtraPortlet, false);
else if (window.attachEvent)
window.attachEvent("onload", ExtraPortlet);
/* </pre> */