משתמש:Yonidebest/monobook.js/move.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
// Adds a link for moving sections from one page to another.
// written by [[user:Yonidebest]]
function handleMoves() {
if (!mw.util.getParamValue('movetopage')) return;
// new window handling
if (mw.util.getParamValue('movetopage') == 'newwindow') {
window.title = 'מבצע העברה...';
}
// current window handling
if (mw.util.getParamValue('movetopage') == 'unknown') {
// get target from user
var answer = prompt('לאן להעביר?', '');
if (!answer) {
alert('לא צויין לאן להעביר');
return;
}
// remove whitespaces
while (answer[0] == ' ') answer[0] = "";
while (answer[answer.length - 1] == ' ') answer[answer.length - 1] = "";
// check if leave msg. default: leave msg
var leaveMsg = true;
if (answer.indexOf(', לא') != 0 || answer.indexOf(',לא') != 0) {
if (answer.split(',')[1] == 'לא' || answer.split(',')[1] == ' לא') leaveMsg = false;
answer = answer.split(',')[0];
}
// open new window
var url = 'http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent(answer) + '&action=edit&movetopage=newwindow';
newWindow = window.open(url, '_blank');
// wait for window to be ready
while (newWindow.title != 'מבצע העברה...') { }
// do the move
var tempValue = document.editform.wpTextbox1.value;
newWindow.editform.wpTextbox1.value += '\n' + tempValue.replace('\n', '\n::<small><span class="grayText">הועבר מ-[[' + wgPageName.replace('_', ' ') + '|' + wgPageName.replace('_', ' ') + ']]:</span></small>\n');
newWindow.editform.wpSummary.value = ' הועבר מ-[[' + wgPageName.replace('_', ' ') + ']]';
newWindow.editform.wpSave.click();
if (leaveMsg) {
tempValue = tempValue.substring(0, tempValue.indexOf('\n'));
tempValue += '\n' + '<small><span class="grayText">הועבר ל-[[' + answer + '|' + answer + ']].</span> ~~' + '~~</small>';
}
else
tempValue = "";
document.editform.wpTextbox1.value = tempValue;
document.editform.wpSummary.value += ' הועבר ל-[[' + answer + ']]';
document.editform.wpSave.click();
}
}
function addMoveLinks(a) {
var moveTo = document.createElement('A');
moveTo.href = a.href + '&movetopage=unknown';
moveTo.title = 'העבר פסקה זו לדף אחר';
moveTo.appendChild(document.createTextNode('העבר'));
a.parentNode.insertBefore(moveTo, a);
a.parentNode.insertBefore(document.createTextNode(']'), a);
a.parentNode.insertBefore(document.createTextNode('['), a);
}
function initMoves() {
var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
var namespaceNumbers = new Array(-1, -2, 0, 2, 6, 8, 10, 12, 14, 100);
for (var i in namespaceNumbers) if (wgNamespaceNumber == namespaceNumbers[i]) return;
var bc = document.getElementById('bodyContent');
if(!bc) return;
var h1s = bc.getElementsByTagName('H1');
for (var i = 0; i < h1s.length; i++) {
var a = h1s[i].getElementsByTagName('A')[0];
if (a) addMoveLinks(a);
}
var h2s = bc.getElementsByTagName('H2');
for (var i = 0; i < h2s.length; i++) {
var a = h2s[i].getElementsByTagName('A')[0];
if (a) addMoveLinks(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) addMoveLinks(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) addMoveLinks(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) addMoveLinks(a);
}
}
$(initMoves);
$(handleMoves);