משתמש:Yonidebest/monobook.js/createSectionLink.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// Adds link to create sections copyable links
// takes into account link from [[משתמש:yonidebest/monobook.js/move.js]];
// written by [[user:Yonidebest]]

function createSectionLink(sectionName) {
 var textbox = document.createElement('input');
 textbox.type = 'text';
 textbox.size = '70';
 textbox.value = '[[' + mw.config.get('wgPageName').replace(/_/g, " ") + '#' + sectionName + ']]';

 var editsection = document.getElementById(sectionName);
 editsection.parentNode.appendChild(textbox);
 textbox.select();
 textbox.focus();
}

function addSectionLink(a) {
  var link = document.createElement('A');
  // using parent node's second a element because of script "move.js" [[משתמש:yonidebest/monobook.js/move.js]]
  var sectionLink = a.parentNode.getElementsByTagName('A')[1];
  if (sectionLink) {
    link.id = sectionLink.title.substring(sectionLink.title.indexOf('עריכת פסקה: ') + 12);
    link.href = 'javascript:createSectionLink(\"' + link.id + '\")';
    link.title = 'הצג קישור לפסקה זו';
    link.appendChild(document.createTextNode('צור קישור'));
    a.parentNode.insertBefore(link, a);
    a.parentNode.insertBefore(document.createTextNode(']'), a);
    a.parentNode.insertBefore(document.createTextNode('['), a);
  }
}
 
function initCreateSectionLink() {
 var namespaceNumbers = new Array(-1, -2, 0, 2, 6, 8, 10, 12, 14, 100);
 for (var i in namespaceNumbers) if (mw.config.get('wgNamespaceNumber') == namespaceNumbers[i]) return;

 var h1s = document.getElementById('bodyContent').getElementsByTagName('H1');
 for (var i = 0; i < h1s.length; i++) {
  var a = h1s[i].getElementsByTagName('A')[0];
  if (a) addSectionLink(a);
 }

 var h2s = document.getElementById('bodyContent').getElementsByTagName('H2');
 for (var i = 0; i < h2s.length; i++) {
  var a = h2s[i].getElementsByTagName('A')[0];
  if (a) addSectionLink(a);
 }

 var h3s = document.getElementById('bodyContent').getElementsByTagName('H3');
 for (var i = 0; i < h3s.length; i++) {
  var a = h3s[i].getElementsByTagName('A')[0];
  if (a) addSectionLink(a);
 }

 var h4s = document.getElementById('bodyContent').getElementsByTagName('H4');
 for (var i = 0; i < h4s.length; i++) {
  var a = h4s[i].getElementsByTagName('A')[0];
  if (a) addSectionLink(a);
 }

 var h5s = document.getElementById('bodyContent').getElementsByTagName('H5');
 for (var i = 0; i < h5s.length; i++) {
  var a = h5s[i].getElementsByTagName('A')[0];
  if (a) addSectionLink(a);
 }

}
 
$(initCreateSectionLink);