oneClickRemoveWeiboFans

在新浪微博(weibo.com)的粉丝页面添加一个[一键删除]按钮,点击直接删除粉丝,<确认/取消> 不再有

  1. // ==UserScript==
  2. // @name oneClickRemoveWeiboFans
  3. // @name:zh-CN oneClickRemoveWeiboFans 一键删除微博粉丝
  4. // @name:zh-HK oneClickRemoveWeiboFans 一键删除微博粉絲
  5. // @name:zh-TW oneClickRemoveWeiboFans 一键删除微博粉絲
  6. // @name:en oneClickRemoveWeiboFans
  7. // @name:ja oneClickRemoveWeiboFans 一键删除微博粉絲
  8. // @namespace https://github.com/catscarlet/oneClickRemoveWeiboFans
  9. // @description 在新浪微博(weibo.com)的粉丝页面添加一个[一键删除]按钮,点击直接删除粉丝,<确认/取消> 不再有
  10. // @description:zh-CN 在新浪微博(weibo.com)的粉丝页面添加一个[一键删除]按钮,点击直接删除粉丝,<确认/取消> 不再有
  11. // @description:zh-HK 在新浪微博(weibo.com)的粉絲頁面添加一個[一键删除]按鈕,點擊直接刪除粉絲,<確認/取消> 不再有
  12. // @description:zh-TW 在新浪微博(weibo.com)的粉絲頁面添加一個[一键删除]按鈕,點擊直接刪除粉絲,<確認/取消> 不再有
  13. // @description:en Add a [一键删除] button to the Followers Page on Sina Weibo (weibo.com). Directly delete the annoying fans by one click. No <确认/取消> any more.
  14. // @description:ja 在フォロワーページに[X]ボタンを追加します。 ワンクリックで、迷惑なフォロワーを直接削除します。これ以上の<Y / N>はありません。
  15. // @version 0.0.7
  16. // @author catscarlet
  17. // @match *://weibo.com/*/fans*
  18. // @match *://weibo.com/p/*/myfollow?relate=fans*
  19. // @require https://code.jquery.com/jquery-latest.js
  20. // @compatible chrome 支持
  21. // @run-at document-end
  22. // @grant none
  23. // ==/UserScript==
  24.  
  25. (function() {
  26. 'use strict';
  27.  
  28. var $ = $ || window.$;
  29.  
  30. $(function() {
  31. console.log('oneClickRemoveWeiboFans loaded');
  32.  
  33. var relationlistdiv1 = $('.WB_cardwrap S_bg2');
  34. var relationlistdiv2 = $('#Pl_Official_RelationFans__88');
  35.  
  36. relationlistdiv1.bind('DOMNodeInserted', function(e) {
  37. console.log('oneClickRemoveWeiboFans .WB_cardwrap S_bg2 detected DOMNodeInserted');
  38. f();
  39. });
  40.  
  41. relationlistdiv2.bind('DOMNodeInserted', function(e) {
  42. console.log('oneClickRemoveWeiboFans #Pl_Official_RelationFans__88 detected DOMNodeInserted');
  43. f();
  44. });
  45.  
  46. setTimeout(f, 1000);
  47.  
  48. function f() {
  49. console.log('oneClickRemoveWeiboFans pending');
  50. if (!document.getElementsByClassName('follow_list').length) {
  51. setTimeout(f, 1000);
  52. } else {
  53. getFans();
  54. };
  55. }
  56.  
  57. });
  58.  
  59. function detectPage() {
  60. return 0;
  61. }
  62.  
  63. function getFans() {
  64. if ($('.follow_box').attr('oneClickRemoveWeiboFansFlag')) {
  65. //console.log('oneClickRemoveWeiboFans already get fans');
  66. return;
  67. } else {
  68. $('.follow_box').attr('oneClickRemoveWeiboFansFlag', '1');
  69. }
  70.  
  71. console.log('oneClickRemoveWeiboFans get fans');
  72. var follow_list = $('.follow_list');
  73.  
  74. $(follow_list).find('li').each(function() {
  75. var follow = $(this);
  76. if (follow.hasClass('follow_item S_line2')) {
  77. var opt_box = follow.find('.opt_box');
  78. var info = opt_box.find('a.W_btn_b');
  79. if ($(info).attr('action-type') == 'follow') {
  80. var fanuid = getParameterByName('uid', $(info).attr('action-data'));
  81. var fanfnick = getParameterByName('fnick', $(info).attr('action-data'));
  82. var str = '<a href="javascript:;" class="W_btn_b removeFanDirectlyBtn" style="background-color: #f56213" action-type="removeFanDirectly" fanuid="' + fanuid + '" fanfnick="' + fanfnick + '">一键移除</a>';
  83. opt_box.append(str);
  84. }
  85. }
  86. });
  87.  
  88. $('.removeFanDirectlyBtn').on('click', removeFanDirectly);
  89. console.log('oneClickRemoveWeiboFans button ready');
  90. };
  91.  
  92. function getParameterByName(name, url) {
  93. if (!url) {
  94. url = window.location.href;
  95. }
  96. name = name.replace(/[\[\]]/g, '\\$&');
  97. var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');
  98. var results = regex.exec(url);
  99. if (!results) {
  100. return null;
  101. }
  102. if (!results[2]) {
  103. return '';
  104. }
  105. return decodeURIComponent(results[2].replace(/\+/g, ' '));
  106. }
  107.  
  108. function removeFanDirectly() {
  109. var thisBtn = $(this);
  110. thisBtn.off('click');
  111. thisBtn.text('正在移除');
  112. thisBtn.css('background-color', '#32a2d5');
  113.  
  114. var uid = $(this).attr('fanuid');
  115. var fnick = $(this).attr('fanfnick');
  116. var data = 'uid=' + uid;
  117. var thisli = $(this).parent().parent().parent();
  118.  
  119. $.ajax({
  120. type: 'POST',
  121. url: '/aj/f/remove?ajwvr=6&__rnd=' + Math.round(new Date().getTime()),
  122. data: data,
  123. dataType: 'json',
  124. async: true,
  125. success: function(msg) {
  126. var code = msg.code;
  127. if (code == 100000) {
  128. console.log('移除粉丝:' + fnick);
  129. thisli.remove();
  130. } else {
  131. thisBtn.css('background-color', '#9e9e9e');
  132. thisBtn.text('移除失败');
  133. console.log('移除失败,可能是网络错误,或是微博更新了界面。');
  134. }
  135. },
  136. error: function(msg) {
  137. console.log(msg);
  138. }
  139. });
  140. }
  141. })();

QingJ © 2025

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