您需要先安装一个扩展,例如 篡改猴、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();
- }
- }
- });
- }