Участник:Володя Шишкин/replace.js
Материал из Викиреальностя
Замечание. Возможно, после сохранения вам придётся очистить кеш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить, или нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl нажмите Обновить, или нажмите Ctrl-F5
- Opera: Выберите очистку кеша в меню Инструменты → Настройки
var t = "На этой спецстранице вы можете запустить скрипт автозамен. С исходным кодом срипта можно ознакомиться <a href='http://wikireality.ru/wiki/User:Володя Шишкин/replace.js'>на его странице</a>. См. также <a href='http://wikireality.ru/wiki/replace.js'>справку</a>."; function vsForm(t1, t2) { t = t + "<tr><td align=right>" + t1 + " </td><td><input name='" + t2 + "'></td></tr>"; } function zm01(name) { $.getJSON("http://wikireality.ru/w/api.php?format=json&action=query&prop=revisions&titles=" + encodeURIComponent(name) + "&rvprop=content", function(r){ for(var pageid in r['query']['pages']) { str = r['query']['pages'][pageid]['revisions'][0]['*']; str = str.replace(window.repl1, window.repl2); vsRun(name, str); } }); } function vsRun(vsTitle, vsText){ $.getJSON(wgScriptPath + "/api.php?format=json&action=query&prop=info&titles=Заглавная_страница&intoken=edit", function(rq) { var pages = rq['query']['pages']; var edittoken; for(var p in pages) { edittoken = pages[p]['edittoken']; } $.post(wgScriptPath + '/api.php', { token: edittoken, format: 'json', action: 'edit', title: vsTitle, minor: 1, summary: "[[Бот]]: Автоматическая обработка страниц", text: vsText }); } ); } if(wgPageName == "Викиреальность:RUN") { t = t + "<BR><BR><table><tr><td align=right>Список целевых страниц :</td><td><TEXTAREA rows=5 cols=40 name=myarea></TEXTAREA></td></tr>" ; // vsForm ("Целевая страница : ","input1") ; vsForm ("Заменить что : ","input2") ; vsForm ("Чем : ","input3") ; vsForm ("","btn1' id='btn1' type='button' value='ок'") ; t = t + "</table>" ; document.getElementById('bodyContent').innerHTML = t ; $('#btn1')[0].onclick = function() { seeTextArea(); }; } function seeTextArea() { var st9 = $('textarea[name="myarea"]').val(); st9 = st9.split (/\n/); window.repl1 = $('input[name="input2"]').val(); window.repl2 = $('input[name="input3"]').val(); for (i=0;i<st9.length;i++) { zm01 (st9[i]); t=t+ st9[i] ; } document.getElementById('bodyContent').innerHTML = t ; }