MediaWiki:LowerCase.js
Матеріал з PSYH.KIEV.UA -- Вісник психології і соціальної педагогіки
Версія від 07:08, 15 квітня 2010; Snak (Обговорення • внесок)
Зауваження: після збереження Ви маєте відновити кеш вашого браузера, щоб побачити зміни. Mozilla / Firefox / Safari: тримайте Shift, коли натискаєте Reload, або натисніть Ctrl-Shift-R (Cmd-Shift-R на Apple Mac); IE: тримайте Ctrl, коли натискаєте Refresh, або натисніть Ctrl-F5; Konqueror: натисніть кнопку Reload, або натисніть F5; Opera: користувачам може знадобитись повністю очистити кеш у Tools→Preferences.
//Скрипт редактирования для Википедии. Переводит выделенный фрагмент текста в нижний регистр. //Часть кода позаимствована из http://ru.wikipedia.org/wiki/MediaWiki:Wikificator.js //Автор: X-romix var XRomix_LowerCase_CantWork = 'Перевод в нижний регистр не может работать в вашем браузере.\n\nLowerCase script cannot work in your browser' // английский текст для тех, кто не видит русские буквы var XRomix_LowerCase_FullText = 'Сначала выделите текст. Эта функция переводит выделенный текст в нижний регистр'; //Добавляет кнопку function add_XRomix_LowerCase_Button(){ var toolbar = document.getElementById('toolbar') var textbox = document.getElementById('wpTextbox1') if (!textbox || !toolbar) return var i = document.createElement('img') i.src = 'http://upload.wikimedia.org/wikipedia/ru/b/b3/Button-LowerCase.PNG' i.alt = i.title = 'Перевод текста в нижний регистр' i.onclick = XRomix_LowerCase i.style.cursor = 'pointer' toolbar.appendChild(i) } //Этот код выполняется в начале. if (wgAction == 'edit' || wgAction == 'submit'){ addOnloadHook(add_XRomix_LowerCase_Button) } //Функция для оформления таблицы function XRomix_LowerCase(){ var txt, hidden = [], hidIdx = 0, wpTextbox1 = document.editform.wpTextbox1 var winScroll = document.documentElement.scrollTop //remember window scroll wpTextbox1.focus() if (typeof wpTextbox1.selectionStart != 'undefined' && (navigator.productSub > 20031000 || is_safari)) { //Mozilla/Opera/Safari3 var textScroll = wpTextbox1.scrollTop var startPos = wpTextbox1.selectionStart var endPos = wpTextbox1.selectionEnd txt = wpTextbox1.value.substring(startPos, endPos) if (txt == '') {alert(XRomix_LowerCase_FullText); ShowHelp(); return} else{ processText() wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txt + wpTextbox1.value.substring(endPos) } wpTextbox1.selectionStart = startPos wpTextbox1.selectionEnd = startPos + txt.length wpTextbox1.scrollTop = textScroll }else if (document.selection && document.selection.createRange) { //IE //alert("IE"); var range = document.selection.createRange() txt = range.text if (txt == '') {alert(XRomix_LowerCase_FullText); ShowHelp(); return} else{ processText() range.text = txt //if (!window.opera) txt = txt.replace(/\r/g,'') if (range.moveStart) range.moveStart('character', - txt.length) range.select() } }else // Для браузеров, которые не умеют возвращать выделенный фрагмент, выдаем ошибку { alert(XRomix_LowerCase_CantWork); return } document.documentElement.scrollTop = winScroll // scroll back, for IE/Opera var wpSummary = document.getElementById('wpSummary') if(wpSummary){ var temp=wpSummary.value; temp=temp.replace(/\/\*.*?\*\// , ""); //комментарии temp=temp.replace(/[\s]*/ , ""); //пробелы if (temp==""){ wpSummary.value=wpSummary.value+" - [[User talk:X-romix/lowercase.js|lowercase.js]]"; } } //Здесь производим замену в переменной txt - это отразится на выделенном фрагменте текста function processText(){ txt=txt.toLocaleLowerCase(); //переводим строку в нижний регистр } }