ميډياويکي:Gadget-JavascriptHeadings.js

د ويکيسيند لخوا

يادښت: د غوره توبونو د خوندي کولو وروسته، خپل د کتنمل (بروزر) ساتل شوې حافظه تازه کړی.

  • فايرفاکس/ سفري: په دې کتنمل کې د Reload د ټکوهلو په وخت د Shift تڼۍ نيولې وساتی، او يا هم Ctrl-F5 يا Ctrl-Rتڼۍ کېښکاږۍ (په Apple Mac کمپيوټر باندې ⌘-R کېښکاږۍ)
  • گووگل کروم: په دې کتنمل کې د Ctrl-Shift-R تڼۍ کېښکاږۍ (د مک لپاره ⌘-Shift-R)
  • انټرنټ اېکسپلورر: په دې کتنمل کې د Refresh د ټکوهلو په وخت کې د Ctrl تڼۍ کېښکاږلې ونيسۍ، او يا هم د Ctrl-F5 تڼۍ کېښکاږۍ
  • اوپرا: په دې کتنمل کې د خپل براوزر ساتل شوې حافظه پدې توگه سپينولی شی Tools→Preferences
jQuery(document).ready(function () {
	if (mediaWiki.config.get('wgAction') !== 'view')
		return; // not just viewing the page
	if (!/^(javascript|css)$/.test(mediaWiki.config.get('wgPageContentModel')))
		return; // not on a JavaScript or CSS page
	var bc = document.getElementById('bodyContent');
	if (!bc)
		return; // shouldn't happen
	var pres = bc.getElementsByTagName('pre');
	if (pres.length !== 1)
		return; // shouldn't happen

	var spans = pres[0].getElementsByTagName('span');
	var numspans = spans.length;

	for (var i = 0; i < numspans; ++i) {
		if (spans[i].className !== 'coMULTI')
			continue;
		if (!spans[i].firstChild.nodeValue)
			continue;

		// TODO \n+ doesn't seem to work here, so using \s+ for now instead
		var res = spans[i].firstChild.nodeValue.match(/\/\*\s*<\/pre>\s+(==+)(.*?)(==+)\s+<pre>\s*\*\//);
		if (!res)
			continue;

		var l = res[1].length < res[3].length ? res[1].length : res[3].length;
		
		var mwNode = document.createElement('span');
		mwNode.className = 'mw-headline';
        mwNode.appendChild(document.createTextNode(res[2]));
		
		var hNode = document.createElement('h' + l);
		hNode.appendChild(mwNode);

		pres[0].replaceChild(hNode, spans[i]);
	}
});