مدیاویکی:JavascriptHeadings.js
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر/ Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: Ctrl-F5 را بفشارید.
function sourceheadings() {
if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 8) && mw.config.get('wgTitle').lastIndexOf('.js') != -1 && mw.config.get('wgAction') == 'view') {
var bc = document.getElementById('bodyContent');
if (bc != null) {
var pres = bc.getElementsByTagName('pre');
if (pres.length == 1) {
var spans = pres[0].getElementsByTagName('span');
var numspans = spans.length;
var j = 0;
for (var i = 0; i < numspans; i++) {
if (spans[i].className == 'coMULTI') {
var res = null;
if (spans[i].firstChild.nodeValue)
// TODO \n+ doesn't seem to work here
res = spans[i].firstChild.nodeValue.match(/\/\*\s*<\/pre>[\r\n\s]+(==+)(.*?)(==+)[\r\n\s]+<pre>\s*\*\//,"gi");
if (res!= null && res.length != 0) {
j++;
var l = res[1].length < res[3].length ? res[1].length : res[3].length;
var h = document.createElement('h' + l);
h.innerHTML =
'<span class="editsection">[<a href="' +
mw.config.get('wgScript') + '?title=' + mw.config.get('wgPageName') + '&action=edit&section=' + j +
'">edit</a>]</span><span class="mw-headline">' + res[2] + '</span>';
pres[0].replaceChild(h, spans[i]);
}
}
}
}
}
}
}
$(sourceheadings);