27 tháng 11, 2013

Thủ thuật xóa group, loại bỏ thành viên đối với Group Facebook có lượng thành viên lớn

Thông tin:


Với thao tác loại bỏ thành viên trong Group Facebook sẽ là rất đơn giản đối với người quản trị Group. Tuy nhiên, bỗng một lúc nào đó, người quản trị muốn Group biến mất hoàn toàn không một chút dấu vết, thì việc xóa bỏ các thành viên là điều bắt buộc. Với một Group thành viên giới hạn thì không có vấn đề gì to tát, nhưng với một Group có vài ngàn thành viên thì không thể thực hiện thủ công được. Thủ thuật dưới đây giúp người quản trị xóa nhanh thành viên trong Group nhanh nhất.


Bước 1 : Chạy trình duyệt Chrome; nếu chưa có thì tải tại http://www.google.com/intl/vi/chrome/)

Bước 2 : Truy cập tới nhóm của bạn (https://www.facebook.com/groups/XXXX/members/ ) . Sau đó mở giao diện điều khiển javascript ( ctrl + shift + J trong chrome ) , dán đoạn mã dưới đây, và gõ phím Enter .


deleteAll = [];
deleteAll.elms = [];
deleteAll.canClick = function (el) {
return (typeof el != 'undefined') && (typeof el.click != 'undefined');
}
deleteAll.load = function() {
deleteAll.elms = document.getElementsByClassName("uiPopoverButton _p uiButton uiButtonSuppressed uiButtonNoText");
if (i < deleteAll.elms.length - 5 && !more[0].hasChildNodes()) {
setTimeout(deleteAll.getMore, 1000);
} else {
setTimeout(deleteAll.go, 2000);
}
}
deleteAll.getMore = function() {
more = document.getElementsByClassName("pam uiBoxLightblue uiMorePagerPrimary");
if (typeof more != 'undefined' && deleteAll.canClick(more[0])) {
more[0].click();
setTimeout(deleteAll.load, 2000);
} else {
setTimeout(deleteAll.load, 100);
}
}
deleteAll.go = function() {
try {
deleteAll.doClick(1);
} catch(e) {
setTimeout(deleteAll.load, 1000);
} finally {
setTimeout(deleteAll.load, 500000);
}
}
deleteAll.doClick = function(i) {
deleteAll.elms[i].click();
setTimeout(function(){deleteAll.doClick2(i)}, 1000);
}

deleteAll.doClick2 = function(i) {
document.getElementsByClassName("_54nc")[1].click()
setTimeout(function(){deleteAll.confirm(i)}, 1000);
}
deleteAll.confirm = function (i) {
remove_but = document.getElementsByClassName("_42ft _42fu layerConfirm uiOverlayButton selected _42g- _42gy")[0];
more = document.getElementsByClassName("pam uiBoxLightblue uiMorePagerPrimary");
if ((i < deleteAll.elms.length - 5 || !more[0].hasChildNodes()) && deleteAll.canClick(remove_but) && remove_but.value == "1") {
remove_but.click();
setTimeout(function(){deleteAll.confirm2(i)}, 1000);
} else {
setTimeout(deleteAll.getMore, 2000);
}
}
deleteAll.confirm2 = function(i) {
node = document.getElementsByClassName('uiContextualLayerPositioner uiLayer hidden_elem')[0];
node.parentNode.removeChild(node);
setTimeout(function(){deleteAll.doClick(i)}, 1000);
}
deleteAll.load();



Nó sẽ bắt đầu xóa tất cả các thành viên từng người một, bằng cách thực hiện kịch bản trên nút nhấp chuột.


Thỉnh thoảng vẫn xảy ra lỗi khi thao tác cố xóa đi một thành viên đã được xóa, hoặc không thể xóa, thì bạn nên thực hiện thao tác lại từ Bước 2.

Ngoài ra, khi Group có quá nhiều thành viên, thì việc xóa thành viên sẽ mất rất nhiều thời gian. Để rút ngắn thời gian, bạn có thể chạy kịch bản trên nhiều tab trên cùng một lúc. Chỉ cần mở một tab mới, đi đến cùng một trang , thêm mã , nhưng trước khi vào làm cho một sự thay đổi nhỏ . Trên dòng số 31 trong sự thay đổi kịch bản này " deleteAll.doClick (1); " , nếu bạn đặt '100 ' thay vì '1' nó sẽ bắt đầu với việc xóa thành viên số 100 trong nhóm thay vì xóa từ thành viên số 1. Vì vậy, có một tab với một kịch bản bắt đầu xóa từ thành viên thứ 1 , tab khác sẽ bắt đầu xóa từ thành viên thứ 100 , tab khác sẽ bắt đầu xóa từ thành viên thứ 200, v.v và nó sẽ đi nhanh hơn nhiều. Tất nhiên một khi các tab bắt đầu xóa từ thành viên số 1 đến thành viên thứ 100 và thấy rằng thành viên đó đã bị xóa nó sẽ ngừng làm việc.

Bước 4: Ngồi nhâm nhi 1 ly cafe và thực hiện thao tác cuối cùng là xóa Group nếu bạn muốn! 

Bài viết được tham khảo từ Sky Angel

Phan Tuấn Nam
Kế toán 7E
Tags:
0 Nhận Xét
G+ Nhận Xét
Nhận Xét

Đăng nhận xét