MediaWiki:Edit.js
Catatan: Selepas menyiarkan perubahan, anda mungkin perlu memintas cache pelayar untuk melihatnya.
- Firefox / Safari: Tahan Shift sambil mengklik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
- Internet Explorer / Edge: Tahan Ctrl sambil mengklik Refresh, atau tekan Ctrl-F5
- Opera: Tekan Ctrl-F5.
//<pre> Javascript included on the edit page.
/*</pre>
==[[MediaWiki:Edittools]]==
<pre>*/
/*</pre>
===applyCharinserts===
<pre>*/
/* handle <span class="charinsert"> like <charinsert> */
function applyCharinserts()
{
function patchUpInsertTagsArg(arg)
{
return(
arg.replace(/\x22/g,'"').replace(/\x27/g,"\\'").replace(/\x26nbsp;/g,' '));
}
function charinsertify(s)
{
if(s.indexOf('<') > -1)
return s.replace(/[^<>]+(?=<|$)/g, charinsertify);
s = s.replace(/\xA0/g, '\x26nbsp;');
var strings = s.split(/\s/);
for(var i = 0; i < strings.length; ++i)
{
if(strings[i] == '')
continue;
var left, right, index;
index = strings[i].indexOf('+');
if(index == -1)
index = strings[i].length;
left = strings[i].substring(0, index);
right = strings[i].substring(index + 1);
strings[i] = left + right;
left = patchUpInsertTagsArg(left).replace(/^ */, '');
right = patchUpInsertTagsArg(right);
strings[i] = "<a onclick=\"mw.toolbar.insertTags('" + left + "','" + right +
"','');return false\" href='#'>" + strings[i] + '</a>';
}
return strings.join(' ');
}
var edittools = document.getElementById('editpage-specialchars');
if(! edittools)
return;
var spans = edittools.getElementsByTagName('span');
if(! spans)
return;
for(var i = 0; i < spans.length; ++i)
{
if((' ' + spans[i].className + ' ').indexOf(' charinsert ') == -1)
continue;
spans[i].className = spans[i].className.replace(/\bcharinsert\b/, '');
spans[i].innerHTML = charinsertify(spans[i].innerHTML);
}
}
/*</pre>
===addCharSubsetMenu===
<pre>*/
/* add menu for selecting subsets of secial characters */
function addCharSubsetMenu() {
var edittools = document.getElementById('editpage-specialchars');
if(! edittools)
return;
var menu = newNode('select',
{ id: 'charSubsetControl',
style: 'display:inline',
onchange: 'chooseCharSubset(selectedIndex)'
});
var pp = edittools.getElementsByTagName('p');
if(!pp)
return;
for(var i = 0; i < pp.length; ++i)
menu.appendChild(
newNode('option',
decodeURIComponent(
(''+pp[i].id).replace(/^edittools-/, '')
.replace(/\.([0-9A-F][0-9A-F])/g, '%$1')
.replace(/_/g, '%20')
)
)
);
edittools.insertBefore(menu, edittools.firstChild);
/* default subset from cookie */
var s = parseInt( getCookie('edittoolscharsubset') );
if ( isNaN(s) ) s = 0;
/* update dropdown control to value of cookie */
document.getElementById('charSubsetControl').selectedIndex = s;
/* display the subset indicated by the cookie */
chooseCharSubset( s );
}
/*</pre>
===chooseCharSubsetMenu===
<pre>*/
/* select subsection of special characters */
function chooseCharSubset(s) {
var l = document.getElementById('editpage-specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
l[i].style.visibility = i == s ? 'visible' : 'hidden';
}
setCookie('edittoolscharsubset', s);
}
jQuery(document).ready(function () {
if(!window.doNotUseDefaultEditTools) { // [[:en:User:Conrad.Irwin/edittools.js]]
addCharSubsetMenu();
}
applyCharinserts();
});
/*
</pre>
*/