您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
User Autocomplete requirement 1 of 2: gather info for the user autocomplete lists
// ==UserScript== // @name GAB User Autocomplete List Builder // @namespace http://gab.ai/ // @version 0.1 // @description User Autocomplete requirement 1 of 2: gather info for the user autocomplete lists // @author Jeremiah 20:9 // @match https://gab.ai/*/followers // @match https://gab.ai/*/following // @require https://code.jquery.com/jquery-1.8.2.js // @grant none // ==/UserScript== var itvcheck1 = -1; var itvcheck2 = -1; var beforecount = 0; var followers = []; var following = []; $(document).ready(function(){ itvcheck1 = setInterval(checkForFollowersLoad, 500); itvcheck2 = setInterval(checkForFollowingLoad, 500); }); function checkForFollowersLoad() { if($("profile-followers > div").length === 0 || $("#refreshfollowers").length === 1) return; followers = []; $("profile-followers > div").prepend('<a id="refreshfollowers">Refresh Followers</a>'); $("#refreshfollowers").click(function(){ $("#refreshfollowers").html("Loading..."); refreshFollowers(); }); } function checkForFollowingLoad() { if($("profile-following > div").length === 0 || $("#refreshfollowing").length === 1) return; following = []; $("profile-following > div").prepend('<a id="refreshfollowing">Refresh Following</a>'); $("#refreshfollowing").click(function(){ $("#refreshfollowing").html("Loading..."); refreshFollowing(); }); } function refreshFollowers() { var user = window.location.href.replace("https://", "").split("/"); user = user[1]; var loc = "https://gab.ai/users/" + user + "/followers"; // https://gab.ai/users/<USERNAME>/followers?before=X $.ajax({ dataType: "json", url: loc + "?before=" + beforecount, success: function(data){ for(var d in data.data) { var user = {}; user.name = data.data[d].name; user.atname = data.data[d].username; user.pic = data.data[d].picture_url; user.type = "follower"; followers.push(user); } $("#refreshfollowers").html("Loading: " + followers.length); if(!data["no-more"]) { beforecount += 30; refreshFollowers(); } else { followers.sort(function(a, b){ if (a.atname.toLowerCase() < b.atname.toLowerCase()) return -1; if (a.atname.toLowerCase() > b.atname.toLowerCase()) return 1; return 0; }); localStorage.setItem("gab-user-followers", JSON.stringify(followers)); beforecount = 0; alert("Done! Updated follower list for autocomplete. " + followers.length + " followers found."); $("#refreshfollowers").remove(); } } }); } function refreshFollowing() { var user = window.location.href.replace("https://", "").split("/"); user = user[1]; var loc = "https://gab.ai/users/" + user + "/following"; // https://gab.ai/users/<USERNAME>/following?before=X $.ajax({ dataType: "json", url: loc + "?before=" + beforecount, success: function(data){ for(var d in data.data) { var user = {}; user.name = data.data[d].name; user.atname = data.data[d].username; user.pic = data.data[d].picture_url; user.type = "following"; following.push(user); } $("#refreshfollowing").html("Loading: " + following.length); if(!data["no-more"]) { beforecount += 30; refreshFollowing(); } else { following.sort(function(a, b){ if (a.atname.toLowerCase() < b.atname.toLowerCase()) return -1; if (a.atname.toLowerCase() > b.atname.toLowerCase()) return 1; return 0; }); localStorage.setItem("gab-user-following", JSON.stringify(following)); beforecount = 0; alert("Done! Updated following list for autocomplete. " + following.length + " following found."); $("#refreshfollowing").remove(); } } }); }