greeple
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: // ==UserScript== // @name Ru-Board Quote insert // @version 0.3 // @include http://forum.ru-board.com/* // ==/UserScript== var TrT = document.getElementsByTagName('tr'); for (var i = 0; i < TrT.length; i++) { var Btag = TrT[i].getElementsByTagName('b'); if (Btag.length == 0) continue; var TdTag = TrT[i].getElementsByTagName('td'); if (TdTag.length >= 3) { if (TdTag[2].className == "tpc") { var s2 = '<a class="tpc" title="Вставить цитату в ответ указав ссылку на этот постинг и его автора."' + ' ID=AInsSel' + i + ' onmouseover="copyQ();"' + ' href=javascript:InsertSel1()>Цитата' + '</a> | '; TdTag[2].innerHTML = '' + s2 + TdTag[2].innerHTML; document.getElementById('AInsSel' + i).addEventListener("click", function () { InsertSel1() }, false); } } } function InsertSel1() { var LastFindUserName = ''; function FindPrnt1(aNode) { var PrNd1 = aNode.parentNode; if (PrNd1.tagName == undefined) { return PrNd1; } if (PrNd1.tagName.toLowerCase() == 'table') { if (PrNd1.className == "tb") { var TrT = PrNd1.getElementsByTagName('tr'); if (TrT.length != 0) { var BTag = PrNd1.getElementsByTagName('b'); if (BTag.length != 0) { LastFindUserName = BTag[0].innerHTML; return PrNd1; } } } } return FindPrnt1(PrNd1); } function FindRef1(TrNode) { var ATg1 = TrNode.getElementsByTagName('a'); for (var i = ATg1.length - 1; i >= 0; i--) { if (ATg1[i].href.indexOf('topic.cgi') >= 0) { var s1 = ''; if ((LastFindUserName != '') && (ATg1[i].href != '') && (ATg1[i + 1].innerHTML != '')) { s1 = '' + '[b][user]' + LastFindUserName + '[/user][/b] ' + '([url=' + ATg1[i].href + ']' + 'сообщение' + '[/url])'; return s1; } } } return ''; } var Nd = FindPrnt1(window.getSelection().getRangeAt(0).startContainer.parentNode); if (Nd.tagName == undefined) { alert('Тег не найден.') } else { var s1 = FindRef1(Nd); if (s1 == '') { alert('Пользователь не найден.') } else { var s2 = txt; TATag1 = document.getElementById('post'); if (TATag1 == null) { alert('Форма ответа не найдена.') } else { TATag1.value = TATag1.value.substr(0, TATag1.selectionStart) + s1 + s2 +TATag1.value.substr(TATag1.selectionEnd); } } } } |
| Всего записей: 4277 | Зарегистр. 11-02-2020 | Отправлено: 19:47 02-04-2023 | Исправлено: greeple, 23:18 02-04-2023 |
|