您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Redditに独自のソート機能を追加する
当前为
// ==UserScript== // @name RSortBtn // @namespace r-sort-btn // @version 0.1.3 // @description Redditに独自のソート機能を追加する // @include *old.reddit.com* // @exclude /comments/ // @exclude /Dashboard // @exclude com/toolbar/ // @exclude com/tb/ // @grant none // ==/UserScript== // 強制終了URL //var url = location.href; //if (url.match(/\/user\//) || url.match(/\/comments/) || url.match(/\/r\/Dashboard/) || url.match(/com\/toolbar\//) || url.match(/com\/tb\//)) { // exit(); //} var btnSelectedBgColor = 'red'; $(function () { $('#siteTable').parent().prepend('<div id="rsbtnArea"></div>'); $('#rsbtnArea').append('<button class="rsbtn" id="rsDefaultBtn">デフォルト</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeSort" id="rsIkioiBtn">勢い順</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeSort" id="rsCommentBtn">コメント数順</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeSort" id="rsScoreBtn">スコア順</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeSort" id="rsNewBtn">新着順</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeTime" id="rs1hBtn">~1時間</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeTime" id="rs3hBtn">~3時間</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeTime" id="rs12hBtn">~12時間</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeTime" id="rs24hBtn">~24時間</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeTime" id="rs72hBtn">~72時間</button>'); $('#rsbtnArea').append('<button class="rsbtn rsbtnTypeTime" id="rs1wBtn">~1週間</button>'); var ccc = 0; // 各サブミにソート情報付与 $(".linklisting > .thing").each(function(i) { // 投稿時間 var post_time = new Date($(this).find('time').attr('title')); // コメント数 var comment_str = $(this).find('.comments').text(); var comment_num = parseInt(comment_str); if (isNaN(comment_num)) { comment_num = 0; } ccc += comment_num; // 現在時間 var now_time = new Date(); // 経過時間 var keika_fun = (now_time - post_time) / (1000 * 60); // 勢い計算 var ikioi = (comment_num / keika_fun) * 60 * 24; ikioi *= 10; ikioi = Math.floor(ikioi); ikioi /= 10; // デフォルト var rank = $(this).find('.rank').text(); var rank_num = parseInt(rank); if (isNaN(rank_num)) { rank_num = 0; } // スコア var unvoted = $(this).find('.score.unvoted').text(); var unvoted_num = parseInt(unvoted); if (isNaN(unvoted_num)) { unvoted_num = 0; } // 属性挿入 $(this).attr('ikioi', ikioi * 10); $(this).find('.entry').prepend('<span style="color:red; font-size: 1.2em; float: right; margin-left: 10px;">' + ikioi + '</span>'); $(this).attr('comment_num', comment_num); $(this).attr('rank_num', rank_num); $(this).attr('unvoted_num', unvoted_num); $(this).attr('keika_fun', keika_fun); if (keika_fun <= 60) { $(this).attr('rs1hBtn', 'yes'); } if (keika_fun <= 180) { $(this).attr('rs3hBtn', 'yes'); } if (keika_fun <= 720) { $(this).attr('rs12hBtn', 'yes'); } if (keika_fun <= 1440) { $(this).attr('rs24hBtn', 'yes'); } if (keika_fun <= 4320) { $(this).attr('rs72hBtn', 'yes'); } if (keika_fun <= 10080) { $(this).attr('rs1wBtn', 'yes'); } }); }); $.fn.eachsort = function(cb) { return this.each(function(){ return $(this).html( $(this).children('.thing').sort(cb) ); }); } $(function() { $('#rsDefaultBtn').click(function() { $('.rsbtn').css('background-color', ''); $(".linklisting > .thing").show(); $("#siteTable").eachsort(function(a, b) { return parseInt($(a).attr('rank_num'), 10) - parseInt($(b).attr('rank_num'), 10); }); }); $('#rsIkioiBtn').click(function() { $('.rsbtnTypeSort').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $("#siteTable").eachsort(function(a, b) { return parseInt($(b).attr('ikioi'), 10) - parseInt($(a).attr('ikioi'), 10); }); }); $('#rsCommentBtn').click(function() { $('.rsbtnTypeSort').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $("#siteTable").eachsort(function(a, b) { return parseInt($(b).attr('comment_num'), 10) - parseInt($(a).attr('comment_num'), 10); }); }); $('#rsScoreBtn').click(function() { $('.rsbtnTypeSort').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $("#siteTable").eachsort(function(a, b) { return parseInt($(b).attr('unvoted_num'), 10) - parseInt($(a).attr('unvoted_num'), 10); }); }); $('#rsNewBtn').click(function() { $('.rsbtnTypeSort').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $("#siteTable").eachsort(function(a, b) { return parseInt($(a).attr('keika_fun'), 10) - parseInt($(b).attr('keika_fun'), 10); }); }); $('#rs1hBtn').click(function() { $('.rsbtnTypeTime').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $(".linklisting > .thing").show(); $(".linklisting > .thing:not([rs1hBtn]").hide(); }); $('#rs3hBtn').click(function() { $('.rsbtnTypeTime').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $(".linklisting > .thing").show(); $(".linklisting > .thing:not([rs3hBtn]").hide(); }); $('#rs12hBtn').click(function() { $('.rsbtnTypeTime').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $(".linklisting > .thing").show(); $(".linklisting > .thing:not([rs12hBtn]").hide(); }); $('#rs24hBtn').click(function() { $('.rsbtnTypeTime').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $(".linklisting > .thing").show(); $(".linklisting > .thing:not([rs24hBtn]").hide(); }); $('#rs72hBtn').click(function() { $('.rsbtnTypeTime').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $(".linklisting > .thing").show(); $(".linklisting > .thing:not([rs72hBtn]").hide(); }); $('#rs1wBtn').click(function() { $('.rsbtnTypeTime').css('background-color', ''); $(this).css('background-color', btnSelectedBgColor); $(".linklisting > .thing").show(); $(".linklisting > .thing:not([rs1wBtn]").hide(); }); });