在新浪微博(weibo.com)的粉絲頁面添加一個[一键删除]按鈕,點擊直接刪除粉絲,<確認/取消> 不再有
// ==UserScript==
// @name oneClickRemoveWeiboFans
// @name:zh-CN oneClickRemoveWeiboFans 一键删除微博粉丝
// @name:zh-HK oneClickRemoveWeiboFans 一键删除微博粉絲
// @name:zh-TW oneClickRemoveWeiboFans 一键删除微博粉絲
// @name:en oneClickRemoveWeiboFans
// @name:ja oneClickRemoveWeiboFans 一键删除微博粉絲
// @namespace https://github.com/catscarlet/oneClickRemoveWeiboFans
// @description 在新浪微博(weibo.com)的粉丝页面添加一个[一键删除]按钮,点击直接删除粉丝,<确认/取消> 不再有
// @description:zh-CN 在新浪微博(weibo.com)的粉丝页面添加一个[一键删除]按钮,点击直接删除粉丝,<确认/取消> 不再有
// @description:zh-HK 在新浪微博(weibo.com)的粉絲頁面添加一個[一键删除]按鈕,點擊直接刪除粉絲,<確認/取消> 不再有
// @description:zh-TW 在新浪微博(weibo.com)的粉絲頁面添加一個[一键删除]按鈕,點擊直接刪除粉絲,<確認/取消> 不再有
// @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.
// @description:ja 在フォロワーページに[X]ボタンを追加します。 ワンクリックで、迷惑なフォロワーを直接削除します。これ以上の<Y / N>はありません。
// @version 0.0.7
// @author catscarlet
// @match *://weibo.com/*/fans*
// @match *://weibo.com/p/*/myfollow?relate=fans*
// @require https://code.jquery.com/jquery-latest.js
// @compatible chrome 支持
// @run-at document-end
// @grant none
// ==/UserScript==
(function() {
'use strict';
var $ = $ || window.$;
$(function() {
console.log('oneClickRemoveWeiboFans loaded');
var relationlistdiv1 = $('.WB_cardwrap S_bg2');
var relationlistdiv2 = $('#Pl_Official_RelationFans__88');
relationlistdiv1.bind('DOMNodeInserted', function(e) {
console.log('oneClickRemoveWeiboFans .WB_cardwrap S_bg2 detected DOMNodeInserted');
f();
});
relationlistdiv2.bind('DOMNodeInserted', function(e) {
console.log('oneClickRemoveWeiboFans #Pl_Official_RelationFans__88 detected DOMNodeInserted');
f();
});
setTimeout(f, 1000);
function f() {
console.log('oneClickRemoveWeiboFans pending');
if (!document.getElementsByClassName('follow_list').length) {
setTimeout(f, 1000);
} else {
getFans();
};
}
});
function detectPage() {
return 0;
}
function getFans() {
if ($('.follow_box').attr('oneClickRemoveWeiboFansFlag')) {
//console.log('oneClickRemoveWeiboFans already get fans');
return;
} else {
$('.follow_box').attr('oneClickRemoveWeiboFansFlag', '1');
}
console.log('oneClickRemoveWeiboFans get fans');
var follow_list = $('.follow_list');
$(follow_list).find('li').each(function() {
var follow = $(this);
if (follow.hasClass('follow_item S_line2')) {
var opt_box = follow.find('.opt_box');
var info = opt_box.find('a.W_btn_b');
if ($(info).attr('action-type') == 'follow') {
var fanuid = getParameterByName('uid', $(info).attr('action-data'));
var fanfnick = getParameterByName('fnick', $(info).attr('action-data'));
var str = '<a href="javascript:;" class="W_btn_b removeFanDirectlyBtn" style="background-color: #f56213" action-type="removeFanDirectly" fanuid="' + fanuid + '" fanfnick="' + fanfnick + '">一键移除</a>';
opt_box.append(str);
}
}
});
$('.removeFanDirectlyBtn').on('click', removeFanDirectly);
console.log('oneClickRemoveWeiboFans button ready');
};
function getParameterByName(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, '\\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');
var results = regex.exec(url);
if (!results) {
return null;
}
if (!results[2]) {
return '';
}
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
function removeFanDirectly() {
var thisBtn = $(this);
thisBtn.off('click');
thisBtn.text('正在移除');
thisBtn.css('background-color', '#32a2d5');
var uid = $(this).attr('fanuid');
var fnick = $(this).attr('fanfnick');
var data = 'uid=' + uid;
var thisli = $(this).parent().parent().parent();
$.ajax({
type: 'POST',
url: '/aj/f/remove?ajwvr=6&__rnd=' + Math.round(new Date().getTime()),
data: data,
dataType: 'json',
async: true,
success: function(msg) {
var code = msg.code;
if (code == 100000) {
console.log('移除粉丝:' + fnick);
thisli.remove();
} else {
thisBtn.css('background-color', '#9e9e9e');
thisBtn.text('移除失败');
console.log('移除失败,可能是网络错误,或是微博更新了界面。');
}
},
error: function(msg) {
console.log(msg);
}
});
}
})();