您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
lepro total comments JS
当前为
// ==UserScript== // @name Lepro Total Comments JS // @description lepro total comments JS // @license MIT // @namespace leprosorium.ru // @include http://leprosorium.ru/comments/* // @include http://*.leprosorium.ru/comments/* // @include http*://leprosorium.ru/comments/* // @include http*://*.leprosorium.ru/comments/* // @copyright 2016, lynxtaa // @grant none // @version 1.3 // ==/UserScript== var BEST_TRESHOLD = 0.75; var controls = document.getElementById('js-comments').querySelector('.b-comments_controls'), comments_holder = document.getElementById('js-comments_holder'), style = document.createElement('style'), best = document.createElement('a'), all = document.createElement('a'), std_dev, comments = []; style.textContent = ".is_hidden { display: none; }"; document.body.appendChild(style); controls.querySelector('a[data-key="sort"]').className = ''; // Кнопки управления best.textContent = 'лучшие'; all.textContent = 'все'; controls.appendChild(best); controls.appendChild(all); // Лучшее best.addEventListener('click', function(e) { e.preventDefault(); // var start = new Date().getTime(); if (this.className === 'active') { return false; } else if (std_dev) { document.body.appendChild(style); } else { var votes = comments_holder.querySelectorAll('strong.vote_result'), best_count = votes.length, comment; std_dev = (getStdDev(votes) || 0.1); for (var i = 0; i < comments.length; i++) { if (comments[i].rating / std_dev < BEST_TRESHOLD) { comment = comments[i].el.parentNode.parentNode.parentNode.parentNode; if (comment.classList.contains('comment')) { comment.classList.add('is_hidden'); } else { throw new Error('Can\'t find comment container.'); } best_count--; } } this.setAttribute('title', best_count); } // var end = new Date().getTime(); // var time = end - start; // alert('Execution time: ' + time); this.className = 'active'; this.nextSibling.className = ''; }, false); // Показать всё all.addEventListener('click', function(e) { e.preventDefault(); if (std_dev && this.className !== 'active') { this.className = 'active'; this.previousSibling.className = ''; document.body.removeChild(style); } }, false); // Среднеквадратическое отклонение function getStdDev(votes) { var abovenull = 0, rating_square_sum = 0, rating_sum = 0, rating, vote; for (var i = 0; i < votes.length; i++) { vote = votes[i]; rating = parseInt(vote.textContent); comments.push({ el: vote, rating: rating }); if ( rating > 0 ) { abovenull++; rating_sum += rating; rating_square_sum += Math.pow(rating, 2); } } abovenull = (abovenull || 1); return Math.sqrt( (rating_square_sum / abovenull) - Math.pow((rating_sum / abovenull), 2) ); }