hwm_pz_scaner

Поик открытых тем

当前为 2021-04-12 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name hwm_pz_scaner
// @namespace https://greasyfork.org/ru/users/170936
// @description Поик открытых тем
// @author Kleshnerukij
// @version 1.0.3
// @include https://www.heroeswm.ru/forum_thread.php?id=25*
// @include https://www.lordswm.com/forum_thread.php?id=25*
// @include http://178.248.235.15/forum_thread.php?id=25*
// ==/UserScript==

(function() {
    var num_page = "10";
    var cur_page = "0";
    var res = "";
    var url = "";
    var page = "";
    var full_res = "";
    var start_temp = '';
    var end_temp = '';
    var xhr = new XMLHttpRequest();
    var search_opth = /<tr( class='second'|)><td style=\'padding-top:6px;padding-bottom:6px;\'><a href=\'forum_messages\.php\?tid=(\d+)\'>(.*?)<\/a><\/td><td>.*?<\/td><td>\d+<\/td><td><a.*?href=\'pl_info\.php\?id=(\d+)\'>(.*?)<\/a>/igm;
    var search_tdata = /tid=(\d+)\'>(.*?)<.*?id=(\d+)\'>(.*?)</i;

    var c_head_table = document.getElementsByClassName('table3 forum c_darker td_bordered')[0];
    var c_head_tr = document.getElementsByClassName('table3 forum c_darker td_bordered')[0].getElementsByTagName('tr')[0];
    var c_head = document.getElementsByClassName('table3 forum c_darker td_bordered')[0].getElementsByTagName('th')[0];

    var c_div_star = document.createElement('div');
    c_div_star.style.display = "none";
    var c_span_star = document.createElement('span');
    c_span_star.innerHTML = " &#10031;";
    c_span_star.onclick = function(){c_div_star.style.display = "inline-block";c_div_star.style.display = "inline-block";c_span_star.style.display = "none";};
    c_span_star.style.cursor = "pointer";

    var c_span_from = document.createElement('span');
    c_span_from.innerHTML = "  с ";
    var c_span_before = document.createElement('span');
    c_span_before.innerHTML = " по ";
    var c_span_nbsp = document.createElement('span');
    c_span_nbsp.innerHTML = " ";
    var c_span_nbsp2 = document.createElement('span');
    c_span_nbsp2.innerHTML = " ";

    var c_from = document.createElement('input');
    c_from.id = "c_from";
    c_from.style.width = "50px";
    var c_before = document.createElement('input');
    c_before.id = "c_before";
    c_before.style.width = "50px";

    var c_button = document.createElement('input');
    c_button.type = "button";
    c_button.value = "Искать";
    c_button.onclick = start_search;

    var c_status = document.createElement('span');
    c_status.id = "res_search";
    c_status.innerHTML = "";

    var c_res_tr = document.createElement('tr');
    var c_res_td = document.createElement('td');

    c_div_star.appendChild(c_span_from);
    c_div_star.appendChild(c_from);
    c_div_star.appendChild(c_span_before);
    c_div_star.appendChild(c_before);
    c_div_star.appendChild(c_span_nbsp);
    c_div_star.appendChild(c_button);
    c_div_star.appendChild(c_span_nbsp2);
    c_div_star.appendChild(c_status);

    c_head.appendChild(c_span_star);
    c_head.appendChild(c_div_star);


    var res_search = document.getElementById('res_search');

    function start_search() {
        start_temp = document.getElementById('c_from').value;
        end_temp = document.getElementById('c_before').value;
        getPage((start_temp-1), end_temp);
    }

    function getPage(start_pg, end_pg) {
        url = "https://www.heroeswm.ru/forum_thread.php?id=25&page="+start_pg;

        xhr.open('GET', url);
        xhr.send();
        xhr.onload = function() {
            if (xhr.status != 200) { // анализируем HTTP-статус ответа, если статус не 200, то произошла ошибка

            } else {
                page = xhr.responseText;
                var page = page.match(search_opth);

                if (page != undefined) {
                    page.forEach(GetOpenTheme);
                }
                res_search.innerHTML = "Обработано: "+(start_pg+1)+"/"+end_pg;
                start_pg++;

                if (start_pg < end_pg) {
                    getPage(start_pg, end_pg);
                } else {

                    let del_end = true;
                    while (del_end) {
                        if (c_head_table.getElementsByTagName("tr")[1] !== undefined) {
                            var del_tr = c_head_table.getElementsByTagName("tr")[1];
                            del_tr.remove();
                        } else {
                            del_end = false;
                        }
                    }
                    c_head_table.innerHTML += full_res;
                }
            }
        }
    }

    function GetOpenTheme(item, index) {
        var res = item.match(search_tdata);
        full_res += '<tr><td><a href="https://www.heroeswm.ru/forum_messages.php?tid='+res[1]+'">'+res[2]+'</a></td><td colspan="4"><a href="https://www.heroeswm.ru/pl_info.php?id='+res[3]+'">'+res[4]+'</a></td></tr>';
    }

})();