您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Te dice si un usuario te sigue en la hovercard
// ==UserScript== // @name Hovercard follows // @namespace https://www.taringa.net/rata__7 // @version 0.4 // @description Te dice si un usuario te sigue en la hovercard // @author Nezumi // @match *://www.taringa.net/* // ==/UserScript== // Se utiliza la funcion waitUntilExist que se agrega a jQuery para que cada hovercard pueda procesarse a medida que aparecen ;(function ($, window) { var intervals = {}; var removeListener = function(selector) { if (intervals[selector]) { window.clearInterval(intervals[selector]); intervals[selector] = null; } }; var found = 'waitUntilExists.found'; $.fn.waitUntilExists = function(handler, shouldRunHandlerOnce, isChild) { var selector = this.selector; var $this = $(selector); var $elements = $this.not(function() { return $(this).data(found); }); if (handler === 'remove') { // Hijack and remove interval immediately if the code requests removeListener(selector); } else { // Run the handler on all found elements and mark as found $elements.each(handler).data(found, true); if (shouldRunHandlerOnce && $this.length) { // Element was found, implying the handler already ran for all // matched elements removeListener(selector); } else if (!isChild) { // If this is a recurring search or if the target has not yet been // found, create an interval to continue searching for the target intervals[selector] = window.setInterval(function () { $this.waitUntilExists(handler, shouldRunHandlerOnce, true); }, 250); } } return $this; }; }(jQuery, window)); //Acá empieza mi código var getSeguidores = function(id){ console.log("Buscando seguidores..."); var seguidores = {}; var page = 1; var ok=true; while(ok){ $.get('https://api.taringa.net/user/followers/view/' + id + '?trim_user=true&count=50&page='+ page, function(data){ if(data.length > 0){ data.forEach(function(u){ seguidores[u] = true; }); page++; } else { console.log("Fin seguidores"); ok = false; } }); } return seguidores; }; var getTooltipUserId = function(tooltip){ var str = tooltip.attr("class"); str = str.substr(0,str.indexOf(' ')); return parseInt(str.slice(10)); }; var tooltipUserFollowsMe = function(id){ return typeof h_followers[id.toString()] !== 'undefined'; }; var hovercardFollows = function(){ $(".tooltip-wrapper-v6").waitUntilExists(function(){ var id = getTooltipUserId($(this)); if(tooltipUserFollowsMe(id)){ $('.user-status',$(this)).prepend('<span>Está siguiéndote</span>'); } }); }; var h_nick = $('.user-name').html(); if(h_nick !== null){ $.ajaxSetup({ async: false }); var h_followers = JSON.parse(localStorage.getItem("seguidores")); var lastFollowersCall = localStorage.getItem("seguidoresTime"); var hoy = new Date(); var limite = 1000*60*60*2; // 2 horas para recargar seguidores if(h_followers === null || lastFollowersCall === null || (hoy-Date.parse(lastFollowersCall)) > limite){ h_followers = getSeguidores(global_data.user); localStorage.setItem("seguidores", JSON.stringify(h_followers)); localStorage.setItem("seguidoresTime", hoy); console.log("Seguidores guardados :)"); } hovercardFollows(); }