Twitter show followers per day

show followers per day on each user's page right after number of followers

  1. // ==UserScript==
  2. // @name Twitter show followers per day
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1.2
  5. // @description show followers per day on each user's page right after number of followers
  6. // @author 0x_bear
  7. // @match https://twitter.com/*
  8. // @icon https://www.google.com/s2/favicons?domain=twitter.com
  9. // @grant none
  10. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
  11. // @require https://gf.qytechs.cn/scripts/383527-wait-for-key-elements/code/Wait_for_key_elements.js?version=701631
  12. // @license MIT
  13. // ==/UserScript==
  14.  
  15. function showFollowersPerDay (jNode) {
  16. var parent = document.querySelector('div.css-1dbjc4n.r-13awgt0.r-18u37iz.r-1w6e6rj')
  17. var node = parent.children.item(1)
  18. if (parent.children.length < 3) {
  19. var cln = node.cloneNode(true)
  20. node.style.marginRight='20px'
  21. parent.appendChild(cln)
  22. } else {
  23. var cln = parent.children.item(2)
  24. cln.innerHTML = node.innerHTML
  25. }
  26. cln.innerHTML = cln.innerHTML.replace("Followers","Followers per day")
  27. cln.innerHTML = cln.innerHTML.replace("/followers","")
  28.  
  29. // calculate and update number
  30. var joinedDate = document.evaluate("//span[contains(., 'Joined')]", document, null, XPathResult.ANY_TYPE, null ).iterateNext().children[1].innerText.substring(7)
  31. const month = ["January","February","March","April","May","June","July","August","September","October","November","December"];
  32. var d = new Date(joinedDate.split(' ')[1],month.indexOf(joinedDate.split(' ')[0]),15)
  33. var dn = new Date() //now
  34. var daysPassed = (dn-d)/1000/60/60/24
  35. var numFollowersText = cln.children[0].children[0].children[0].innerText.replace(',','')
  36. if (numFollowersText.search('K')>-1) {
  37. var numFollowers = numFollowersText.substring(0,numFollowersText.length-1)*1e3
  38. } else if (numFollowersText.search('M')>-1) {
  39. var numFollowers = numFollowersText.substring(0,numFollowersText.length-1)*1e6
  40. }
  41. else {var numFollowers = numFollowersText*1}
  42. cln.children[0].children[0].children[0].innerText = Math.round(numFollowers/daysPassed)
  43. }
  44.  
  45. waitForKeyElements ("a[href*='/followers']", showFollowersPerDay,true);
  46.  
  47. let lastUrl = location.href;
  48. new MutationObserver(() => {
  49. const url = location.href;
  50. if (url !== lastUrl) {
  51. lastUrl = url;
  52. onUrlChange();
  53. }
  54. }).observe(document, {subtree: true, childList: true});
  55.  
  56. function onUrlChange() {
  57. showFollowersPerDay();
  58. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址