移除LeetCode付费题目

移除LeetCode付费题目, 使不显示在列表中

目前為 2019-07-12 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         移除LeetCode付费题目
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  移除LeetCode付费题目, 使不显示在列表中
// @author       sumuzhe
// @match        *://leetcode-cn.com/problemset/*
// @grant        none
// ==/UserScript==

// TODO:搜索框事件
(function() {
    'use strict';
    main();
})();

function main() {
    remove();
    bindClick();
}

function remove() {
    console.log("remove function...");
    var interval = setInterval(function() {
        var ps = $($(".table,.table-striped > tbody").get(1));
        // console.log(ps);
        // console.log(ps.length);
        if (ps.length === 1) {
            var trs = ps.find("tr");

            // console.log(trs.length);
            for(var i = 0; i < trs.length; i++){
                var tr = $(trs.get(i));
                var spans = $(tr.find("td").get(2)).find("div").children("span");
                // console.log(spans.length);
                for (var j = 0; j < spans.length; j++) {
                    var span = $(spans.get(j));
                    var s = span.children("span");
                    // console.log(s.length);
                    if (s.length == 1){
                        console.log($(tr.find("a").get(0)).text());
                        tr.hide();
                    }
                }
            }
            clearInterval(interval);
        }
    }, 500);
}

/**
 * 为所有的题目过滤条件标签绑定事件
 */
function bindClick() {
    // 翻页按钮
    var interval = setInterval(function() {
        var btns = $(".pagination-buttons");
        console.log("part1");
        console.log(btns);
        console.log(btns.length);
        if (btns.length > 0) {
            btns.click(function() {
                remove();
            });
            clearInterval(interval);
        }
    }, 500);

    // 下拉框
    var interval2 = setInterval(function() {
        var select = $(".row-selector > .form-control");
        console.log("part2");
        console.log(select);
        console.log(select.length);
        if (select.length > 0) {
            select.click(function() {
                remove();
            });
            clearInterval(interval2);
        }
    }, 500);

     // 上边五个选择框
     var interval3 = setInterval(function() {
        var doms = $(".pull-right.dropdown.show.filter-item");
        console.log("part3");
        console.log(doms);
        console.log(doms.length);
        if (doms.length > 0) {
            doms.click(function() {
                remove();
            });
            clearInterval(interval3);
        }
    }, 500);

     // 搜索框下边的清除选择按钮
     var interval4 = setInterval(function() {
        var doms = $(".filter-tag-bar");
        console.log("part4");
        console.log(doms);
        console.log(doms.length);
        if (doms.length > 0) {
            doms.click(function() {
                remove();
            });
            clearInterval(interval4);
        }
    }, 500);

     // 搜索框
     var interval5 = setInterval(function() {
        var doms = $(".form-control.list-search-bar");
        console.log("part5");
        console.log(doms);
        console.log(doms.length);
        if (doms.length > 0) {
            doms.on("input", function() {
                // remove();
            });
            clearInterval(interval5);
        }
    }, 500);
}