您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Muestra una lista de los usuarios que han votado negativo un meneo.
当前为
// ==UserScript== // @name meneame.net - Mostrar negativizadores de meneos // @namespace http://tampermonkey.net/ // @version 0.5 // @description Muestra una lista de los usuarios que han votado negativo un meneo. // @author ᵒᶜʰᵒᶜᵉʳᵒˢ // @include *.meneame.net/* // @icon https://www.meneame.net/favicon.ico // @grant GM.xmlHttpRequest // @grant GM_addStyle // @license GNU GPLv3 // ==/UserScript== // ---- SCRIPT values ---- const COLUMNS = 3; const ALIGNMENT = 'left'; // right / left const ORDER_DATE = 'ASC'; // ASC / DESC const NAME_LENGTH = 20; // ---- API values ---- const NEGATIVE_COUNTER_CLASS = '.negative-vote-number'; const NEGATIVE_HEADER = '.news-details'; const VOTERS_LIST = '.voters-list'; const VOTER = 'a + span'; const NEWS_SUMMARY = '.news-summary' const URL_VOTERS = 'https://www.meneame.net/backend/meneos.php?id=MENEO_ID&p=PAGE_COUNTER'; const divNegativizators = "<div class='negative_class_header'>HEADER</div><BR><div class='negative_class_columns_container'><div class='negative_class_voters'>LIST_NEG</div></div>"; const divNegativizator = "<div class='negative_class_voter'><p class='negative_class_what WHAT'>WHAT</p><p class='negative_class_who'>WHO</p><p class='negative_class_when'>WHEN</p></div>"; const NegativizatorsCSS = ".negative_class_header {text-align: left; margin-left: 20px;} .negative_class_columns_container {margin-left: 20px; margin-right: 20px; text-align: center;} .negative_class_voters {text-align: right; column-count: COLUMNS; column-rule-style: solid; column-gap: 5px;} .negative_class_voter {text-align: right; font-size: smaller; column-count: 3; column-width: 60px;}"; var Total_Negativizators = 0; var Array_Voters = []; ListNegativizators(); function ListNegativizators() { if (parseInt(document.querySelector(NEGATIVE_COUNTER_CLASS).textContent,10) > 0) ShowList(); } async function ShowList() { var negative_header_content = ''; var voters_page_counter = 1; var MaxPages = 0; while (voters_page_counter > 0) { await GM.xmlHttpRequest( {method: "GET", url: url_votes(voters_page_counter), responseType: "document", onload: function(result) { var xmlDoc = new DOMParser().parseFromString(result.responseText, "text/html"); if (negative_header_content == '') { negative_header_content = xmlDoc.querySelector(NEGATIVE_HEADER).innerHTML; MaxPages = parseInt(xmlDoc.getElementsByClassName('pages')[0].lastChild.text, 10); } var node = xmlDoc.querySelector(VOTERS_LIST); if (node && node.childElementCount > 0) { var node_neg = node.querySelectorAll(VOTER); if (node_neg && node_neg.length > 0) { node_neg.forEach( function(node) { divNegativeVoter(node.textContent, node.previousElementSibling.title, node.previousElementSibling.innerHTML); }); } } else {voters_page_counter = -1;} } } ); ++voters_page_counter; if (voters_page_counter > MaxPages) voters_page_counter = 0; } if (Total_Negativizators > 0) { GM_addStyle(NegativizatorsCSS.replace('COLUMNS',COLUMNS).replace('text-align: right','text-align: ' + ALIGNMENT)); var where_to_inject = document.querySelector(NEWS_SUMMARY); if (ORDER_DATE == 'ASC') Array_Voters.sort((a,b) => b.Total_Negativizators - a.Total_Negativizators); where_to_inject.insertAdjacentHTML("afterend", columnDiv(negative_header_content, ExtractVotersFromArray())); } } function ExtractVotersFromArray() { var result = ''; for(var voter_div of Array_Voters) {result += voter_div.strData;} return result; } function divNegativeVoter(what, who, avatar) { var date_lenght = 20; if ((who.slice(-11)).slice(0,1) == ':') date_lenght = 9; var when = who.slice(-date_lenght).replace(' UTC','').replace('-202','-2'); if (ALIGNMENT == 'left') { who = avatar + ' ' + TrimName(who.slice(0,-1*(date_lenght+2))); } else { who = TrimName(who.slice(0,-1*(date_lenght+2))) + ' ' + avatar; } ++Total_Negativizators; var strData = divNegativizator.replace('WHAT', what).replace('WHAT',what.toUpperCase()).replace('WHO', who).replace('WHEN',when); Array_Voters.push({strData, Total_Negativizators}); } function TrimName(strName) { return strName.length > NAME_LENGTH ? strName.substring(0, NAME_LENGTH - 1) + "…" : strName;; } function columnDiv(header_neg, list_neg) { return divNegativizators.replace('HEADER',header_neg).replace('LIST_NEG',list_neg); } function url_votes(page) { return URL_VOTERS.replace('PAGE_COUNTER',page).replace('MENEO_ID', link_id); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址