מדיה ויקי:Gadget-EditReplace.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
// סקריפט 24: לקוח מ[[ויקיפדיה:סקריפטים/24]]
// Adds a replace option to toolbar in edit mode
// Created by [[user:Yonidebest]]
function replaceText()
{
try {
if ( document.getElementById('cbReplace').checked )
var fromThis = new RegExp ( document.getElementById('fromReplace').value, 'g'); // as regex
else
var fromThis = new RegExp ( document.getElementById('fromReplace').value.replace(/\\n/g,"\n")
.replace(/(\^|\[|\.|\$|\{|\*|\(|\\|\+|\)|\||\?|\<|\>)/g,"\\$1"), 'g'); // as string
var toThis = document.getElementById('toReplace').value.replace(/\\n/g,"\n");
var statusReplace = document.getElementById('statusReplace');
var outputText = document.editform.wpTextbox1.value.replace ( fromThis, toThis );
if ( outputText != document.editform.wpTextbox1.value )
{
document.editform.wpTextbox1.value = outputText;
statusReplace.innerHTML = 'בוצע!';
}
else statusReplace.innerHTML = 'לא נמצאו מופעים.';
}
catch(e)
{
return; // lets just ignore what's happened
}
}
function toggleReplaceText()
{
try {
var divBox = document.getElementById('divReplace');
var aReplace = document.getElementById('aReplace');
if ( divBox.style.display == 'none' )
{
divBox.style.display = 'block';
aReplace.innerHTML = '[הסתר]';
}
else
{
divBox.style.display = 'none';
aReplace.innerHTML = '[החלף]';
}
}
catch(e)
{
return; // lets just ignore what's happened
}
}
function createReplaceTextBox()
{
try {
var toolbar = document.getElementById('toolbar');
if (!toolbar) return;
try { // for IE
var fromReplace = document.createElement('<INPUT ID="fromReplace"></INPUT>');
} catch (e) { // for FF
var fromReplace = document.createElement('INPUT');
fromReplace.id = 'fromReplace';
};
fromReplace.type = 'text';
fromReplace.tabIndex = 21;
fromReplace.onchange = function() { javascript:document.getElementById("statusReplace").innerHTML = "מחכה..."; };
try { // for IE
var toReplace = document.createElement('<INPUT ID="toReplace"></INPUT>');
} catch (e) { // for FF
var toReplace = document.createElement('INPUT');
toReplace.id = 'toReplace';
};
toReplace.type = 'text';
toReplace.tabIndex = 22;
toReplace.onchange = function() { javascript:document.getElementById("statusReplace").innerHTML = "מחכה..."; };
var submitReplace = document.createElement('A');
submitReplace.href = 'javascript:replaceText();';
submitReplace.appendChild(document.createTextNode('החלף'));
try { // for IE
var statusReplace = document.createElement('<SPAN ID="statusReplace"></SPAN>');
} catch (e) { // for FF
var statusReplace = document.createElement('SPAN');
statusReplace.id = 'statusReplace';
};
statusReplace.appendChild(document.createTextNode('מחכה...'));
try { // for IE
var cbReplace = document.createElement('<INPUT ID="cbReplace"></INPUT>');
} catch (e) { // for FF
var cbReplace = document.createElement('INPUT');
cbReplace.id = 'cbReplace';
};
cbReplace.type = 'checkbox';
cbReplace.checked = false;
var aCheckBox = document.createElement('A');
aCheckBox.href = '//he.wikipedia.org/wiki/%D7%91%D7%99%D7%98%D7%95%D7%99_%D7%A8%D7%92%D7%95%D7%9C%D7%A8%D7%99';
aCheckBox.title = 'הסבר אודות ביטויים רגולריים בוויקיפדיה';
aCheckBox.appendChild(document.createTextNode('ביטוי רגולרי'));
try { // for IE
var divBox = document.createElement('<DIV ID="divReplace"></DIV>');
} catch (e) { // for FF
var divBox = document.createElement('DIV');
divBox.id = 'divReplace';
};
divBox.appendChild(document.createTextNode('החלף את '));
divBox.appendChild(fromReplace);
divBox.appendChild(document.createTextNode(' ב '));
divBox.appendChild(toReplace);
divBox.appendChild(document.createTextNode(' '));
divBox.appendChild(submitReplace);
divBox.appendChild(document.createTextNode(' | '));
divBox.appendChild(cbReplace);
divBox.appendChild(document.createTextNode(' החלף כ'));
divBox.appendChild(aCheckBox);
divBox.appendChild(document.createTextNode(' | סטטוס: '));
divBox.appendChild(statusReplace);
divBox.appendChild(document.createElement('BR'));
try { // for IE
var aReplace = document.createElement('<A ID="aReplace"></A>');
} catch (e) { // for FF
var aReplace = document.createElement('A');
aReplace.id = 'aReplace';
};
aReplace.href = 'javascript:toggleReplaceText();';
toolbar.appendChild(aReplace);
toolbar.appendChild(document.createTextNode(' '));
toolbar.appendChild(divBox);
toggleReplaceText();
}
catch(e)
{
return; // lets just ignore what's happened
}
}
$( createReplaceTextBox );
// עד כאן סקריפט 24