ميډياويکي:SectionWatchLinks.js

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

  • فايرفاکس/ سفري: په دې کتنمل کې د Reload د ټکوهلو په وخت د Shift تڼۍ نيولې وساتی، او يا هم Ctrl-F5 يا Ctrl-Rتڼۍ کېښکاږۍ (په Apple Mac کمپيوټر باندې ⌘-R کېښکاږۍ)
  • گووگل کروم: په دې کتنمل کې د Ctrl-Shift-R تڼۍ کېښکاږۍ (د مک لپاره ⌘-Shift-R)
  • انټرنټ اېکسپلورر: په دې کتنمل کې د Refresh د ټکوهلو په وخت کې د Ctrl تڼۍ کېښکاږلې ونيسۍ، او يا هم د Ctrl-F5 تڼۍ کېښکاږۍ
  • اوپرا: په دې کتنمل کې د خپل براوزر ساتل شوې حافظه پدې توگه سپينولی شی Tools→Preferences
/* To use this, add this line:

importScript('MediaWiki:SectionWatchLinks.js');

 * to [[Special:Mypage/monobook.js]], then follow the instructions at the top of
 * that page to bypass your browser's cache.
 *
 */

function addSectionWatchLinks()
{
 if(mw.config.get('wgAction') != 'view') return;

 if(mw.config.get('wgUserGroups') == null) return;
 var isUser = false;
 for(var i = 0; i < mw.config.get('wgUserGroups').length; ++i)
  if(mw.config.get('wgUserGroups')[i] == 'user') isUser = true;
 if(! isUser) return;

 var prevTitle = '';
 var prevH = '';

 var links = document.getElementsByTagName('a');
 var relevantLinks = [];
 for(var i = 0; i < links.length; ++i)
 {
  var link = links[i];
  if(link.parentNode.nodeName.toLowerCase() != 'span') continue;
  if(link.parentNode.className != 'editsection') continue;
  if(! /^[hH][1-6]$/.test(link.parentNode.parentNode.nodeName)) continue;
  var title =
   /\/w\/index.php\?title=([^&]+)&action=edit&section=T-\d+$/.exec(link.href);
  if(title == null) continue;
  title = title[1];
  if(title == prevTitle)
  {
   if(link.parentNode.parentNode.nodeName > prevH) continue;
  }
  else
  {
   prevTitle = title;
   prevH = link.parentNode.parentNode.nodeName;
  }
  relevantLinks.push(link);
 }

 var watchMsg = 'watch';
 var unwatchMsg = 'unwatch';

 for(var i = 0; i < relevantLinks.length; ++i) 
 {
  var link = relevantLinks[i];
  var title = link.getAttribute('title');
  var pagename = /\/w\/index.php\?title=([^&]+)/.exec(link.href)[1];

  var nodes = [];
  var node;

  node = document.createElement('a');
  node.setAttribute('href', '/w/index.php?title='+pagename+'&action=watch');
  node.setAttribute('title', title);
  node.appendChild(document.createTextNode(watchMsg));
  nodes.push(node);

  nodes.push(document.createTextNode(' \xB7 '));

  node = document.createElement('a');
  node.setAttribute('href', '/w/index.php?title='+pagename+'&action=unwatch');
  node.setAttribute('title', title);
  node.appendChild(document.createTextNode(unwatchMsg));
  nodes.push(node);

  nodes.push(document.createTextNode(' \xB7 '));

  for(var j = 0; j < nodes.length; ++j)
   link.parentNode.insertBefore(nodes[j], link);
 }
}

$(addSectionWatchLinks);