您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Normalize link scores according to subreddit subscriber base
- // ==UserScript==
- // @name Reddit - normalize link score
- // @namespace http://tampermonkey.net/
- // @version 1.3.0
- // @description Normalize link scores according to subreddit subscriber base
- // @author Cáno
- // @match https://www.reddit.com/r/*+*/*
- // @grant none
- // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js
- // @require https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js
- // ==/UserScript==
- (function($) {
- 'use strict';
- var thresholds = {
- "PHP": 18,
- "AmateurRoomPorn": 90,
- "starcraft": 120,
- "EmmaWatson": 60,
- "ProgrammerHumor": 90
- };
- var threshold = 0;
- for (var key in thresholds) {
- if (thresholds.hasOwnProperty(key)) {
- if(window.location.href.indexOf(key) > -1) {
- threshold = thresholds[key];
- }
- }
- }
- $( document ).ready(function () {
- var subs = [];
- $('.subscription-box a.title').each(function() {
- subs.push($(this).attr('href'));
- });
- var sum = 0;
- var num = 0;
- var promises = [];
- console.log(subs);
- $.each(subs, function() {
- var ajax = $.ajax({
- url: this + "about.json"
- });
- promises.push(ajax);
- });
- console.log(promises);
- Promise.all(promises)
- .then(responseList => {
- console.log(responseList);
- var results = [];
- $.each(responseList, function () {
- var response = this;
- var el = $('.score.unvoted');
- el.each(function() {
- var txt = $(this).parent().parent().find('.entry.unvoted .tagline > a:last-child').text();
- if (txt === response.data.display_name_prefixed) {
- var result = $(this).attr('title') / response.data.subscribers * 100000;
- result = Math.round(result * 10) / 10;
- var parent = $(this).parent().parent();
- if (!result) {
- result = 0.0;
- }
- num++;
- sum += result;
- results.push(result);
- parent.attr('data-score', result);
- if (result < threshold) {
- parent.css('opacity', 0.5).css('filter', 'grayscale(100%)');
- $(this).html(result);
- } else {
- $(this).html(result);
- }
- }
- });
- });
- // console.log(sum/num);
- results = results.sort(function (a, b) { return a - b; }).reverse();
- $.each(results, function() {
- // console.log(this);
- var things = $(".thing[data-score='" + this + "']");
- things.each(function() {
- var clear = $(this).next();
- $(this).insertBefore('#siteTable .nav-buttons');
- clear.insertBefore('#siteTable .nav-buttons');
- });
- });
- }).catch(e => {
- //console.log(e);
- });
- })();
- })(jQuery);