您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
report all on a reddit page
// ==UserScript== // @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js // @name AutoReport // @namespace AutoReport // @version 1.0 // @description report all on a reddit page // @include http://www.reddit.com/user/* // @include http://www.reddit.com/r/* // ==/UserScript== var currentPage = document.URL; var parsedPage = currentPage.split('/'); var modHash = null; var currentUser = null; var subreddit = null; var commentIDs = []; var topicIDs = []; var subredditList = []; function reportItem(index, num) { if(num == 3) {var fullname = topicIDs[index];} else{var fullname = commentIDs[index];} $.post('http://www.reddit.com/api/report', {'id': fullname, 'uh': modHash}); } function getHash(callback) { var query = new XMLHttpRequest(); query.onreadystatechange = function () { if (query.readyState == 4) { var info = JSON.parse(query.responseText); modHash = info.data.modhash; callback(); } } query.open('GET', 'http://www.reddit.com/api/me.json', true); query.send(null); } function generateCommentsButton() { $('div.menuarea').append('<div id=REPORT></div>'); var reportButton = document.createElement('button'); var reportText = document.createTextNode('report'); reportButton.appendChild(reportText); $('#REPORT').append(reportButton); $('#REPORT').css({'position':'absolute','top':'77px', 'left':'400px'}); $('#REPORT').click(function() { for(var i = 0; i < 25; i++) {reportItem(i, null);} alert('All comments on this page were reported.'); }); } function generateSubredditButton() { $('.side').append('<div id=REPORT></div>'); var reportButton = document.createElement('button'); var reportText = document.createTextNode('report'); reportButton.appendChild(reportText); $('#REPORT').append(reportButton); $('#REPORT').css({'position':'relative'}); $('#REPORT').click(function() { for(var i = 0; i < 25; i++) {reportItem(i, 3);} alert('All threads on this page were reported.'); }); } function getCommentIDs(callback, param) { var query = new XMLHttpRequest(); query.onreadystatechange = function() { if(query.readyState == 4) { var info = JSON.parse(query.responseText); for(i = 0; i < info.data.children.length; i++){ commentIDs.push('t1_' + info.data.children[i].data.id); topicIDs.push(info.data.children[i].data.link_id); subredditList.push(info.data.children[i].data.subreddit); } callback(param); } } query.open('GET', 'http://www.reddit.com/user/' + currentUser + '/comments.json', true); query.send(null); } function getSubredditID(callback, param) { var query = new XMLHttpRequest(); query.onreadystatechange = function() { if(query.readyState == 4) { var info = JSON.parse(query.responseText); //var subredditID = info.data.children[0].data.subreddit_id; for(i = 0; i < 25; i++) {topicIDs.push(('t3_' + info.data.children[i].data.id));} callback(param); } } query.open('GET', 'http://www.reddit.com/r/' + subreddit + '/hot.json', true); query.send(null); } if (parsedPage[3] == 'user') { currentUser = parsedPage[4]; getCommentIDs(getHash, generateCommentsButton); }else if (parsedPage[3] == 'r') { subreddit = parsedPage[4]; getSubredditID(getHash, generateSubredditButton); }