Mavrikii
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Держите, заодно протестируете. Для tampermonkey в Хроме, но легко правится и под другие аналоги. Сорри за jQuery, не люблю писать на чистом js. Ну и сортировка сообщений должна быть стандартной, иначе будут проблемы, так как после удаления блока индексы поменяются. Код: // ==UserScript== // @name Чистим ПМ // @namespace ru-board // @version 0.1 // @match *://forum.ru-board.com/messanger.cgi // @match *://forum.ru-board.com/messanger.cgi?action=inbox // @require http://code.jquery.com/jquery-latest.js // @grant unsafeWindow // @run-at document-body // ==/UserScript== (function($) { 'use strict'; var block = 1000, delay = 1000, rows = []; $('<button type="button">Чистим ящик</button>').on('click', function() { var user = prompt('Имя?', ''); if (!user || !confirm('Уверены, что ' + user + '?')) return; rows = $('a[href^="profile.cgi?"]').filter(function() { return $(this).text() === user; }).closest('tr'); removeMessages(0); }).prependTo('body').wrap('<div style="text-align:center;margin:10px;"></div>'); function removeMessages(start) { if (start >= rows.length) { if (confirm('Done, обновляем страницу?')) { unsafeWindow.location.reload(); } return; } var list = rows.slice(start, start + block), data = list.find(':checkbox').each(function() {$(this).prop('checked', true);}); $.post('//forum.ru-board.com/messanger.cgi', data.serialize() + '&' + $.param({action: 'delmsg', where: 'inbox'}), function() { list.remove(); setTimeout(function() { removeMessages(start + block); }, delay); } ); } })(jQuery); | Исправил кое-что, а то могло выбрать и частичное совпадение ника. | Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 22:22 21-09-2019 | Исправлено: Mavrikii, 23:32 21-09-2019 |
|