oneClickRemoveWeiboPost

在新浪微博(weibo.com)的个人页面添加一个[删除]按钮,点击直接删除此条微博

当前为 2017-12-02 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name oneClickRemoveWeiboPost
  3. // @name:zh-CN oneClickRemoveWeiboPost 一键删除微博
  4. // @name:zh-HK oneClickRemoveWeiboPost 一键删除微博
  5. // @name:zh-TW oneClickRemoveWeiboPost 一键删除微博
  6. // @name:en oneClickRemoveWeiboPost
  7. // @name:ja oneClickRemoveWeiboPost 一键删除微博
  8. // @namespace https://github.com/catscarlet/oneClickRemoveWeiboPost
  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 directly delete the post by one click. No <确认/取消> any more.
  14. // @description:ja 在フォロワーページに[X]ボタンを追加します。 ワンクリックで、迷惑なフォロワーを直接削除します。これ以上の<Y / N>はありません。
  15. // @version 0.0.2
  16. // @author catscarlet
  17. // @match https://weibo.com/*
  18. // @require https://code.jquery.com/jquery-latest.min.js
  19. // @compatible chrome 支持
  20. // @run-at document-end
  21. // @grant none
  22. // ==/UserScript==
  23.  
  24. (function() {
  25. 'use strict';
  26.  
  27. var $ = $ || window.$;
  28. var postcount = 0;
  29.  
  30. $(function() {
  31. console.log('oneClickRemoveWeiboPost loaded');
  32.  
  33. setTimeout(f, 1000);
  34.  
  35. function f() {
  36. if ($('.WB_feed.WB_feed_v3.WB_feed_v4').attr('module-type') != 'feed') {
  37. //console.log('page not match oneClickRemoveWeiboPost');
  38. setTimeout(f, 2000);
  39. } else {
  40. getPosts();
  41. setTimeout(f, 2000);
  42. };
  43. }
  44. });
  45.  
  46. function detectPage() {
  47. return 0;
  48. }
  49.  
  50. function getPosts() {
  51. var post_list = $('.WB_cardwrap.WB_feed_type.S_bg2.WB_feed_like');
  52.  
  53.  
  54. postcount = post_list.length;
  55.  
  56. $('.WB_cardwrap.WB_feed_type.S_bg2.WB_feed_like').attr('oneClickRemoveWeiboPostCount', postcount);
  57.  
  58. $(post_list).each(function() {
  59. var postdiv = $(this);
  60. if (postdiv.hasClass('WB_cardwrap WB_feed_type S_bg2 WB_feed_like ')) {
  61. var opt_box = postdiv.find('.screen_box');
  62.  
  63. if (!opt_box.attr('oneClickRemoveWeiboPostBtn')) {
  64. var mid;
  65. mid = $(postdiv).attr('mid');
  66. var str = '<a href="javascript:;" class="W_ficon ficon_arrow_down S_ficon removePostDirectlyBtn" style="background-color: #D0EEFE" action-type="removePostDirectly" mid="' + mid + '">删除</a>';
  67.  
  68. opt_box.attr('oneClickRemoveWeiboPostBtn', 1);
  69. opt_box.prepend(str);
  70.  
  71. $('.removePostDirectlyBtn').off('click');
  72. $('.removePostDirectlyBtn').on('click', removePostDirectly);
  73. }
  74. }
  75. });
  76.  
  77. };
  78.  
  79.  
  80. function removePostDirectly() {
  81. var thisBtn = $(this);
  82. thisBtn.off('click');
  83. thisBtn.text('移除');
  84. thisBtn.css('background-color', '#32a2d5');
  85.  
  86. var mid = $(this).attr('mid');
  87. var data = 'mid=' + mid;
  88. var thisli = $(this).parent().parent().parent().parent();
  89.  
  90. $.ajax({
  91. type: 'POST',
  92. url: '/aj/mblog/del?ajwvr=6',
  93. data: data,
  94. dataType: 'json',
  95. async: true,
  96. success: function(msg) {
  97. var code = msg.code;
  98. if (code == 100000) {
  99. console.log('移除微博:' + mid + '成功');
  100. console.log(thisli);
  101. thisli.remove();
  102. } else {
  103. thisBtn.css('background-color', '#9e9e9e');
  104. thisBtn.text('失败');
  105. console.log('移除微博:' + mid + '失败,可能是网络错误,或是微博更新了界面。');
  106. console.log(msg);
  107. }
  108. },
  109. error: function(msg) {
  110. thisBtn.css('background-color', '#9e9e9e');
  111. thisBtn.text('失败');
  112. console.log('移除微博:' + mid + '失败,可能是网络错误,或是微博更新了界面。');
  113. console.log(msg);
  114. }
  115. });
  116. }
  117. })();