Greasy Fork

Greasy Fork is available in English.

S1论坛已阅提示

S1论坛已阅提示,ignore old thread on saraba1st

当前为 2019-12-28 提交的版本,查看 最新版本

// ==UserScript==
// @name         S1论坛已阅提示
// @namespace    http://www.saraba1st.com/
// @version      0.2
// @description  S1论坛已阅提示,ignore old thread on saraba1st
// @author       不能放过孩子
// @match        *.saraba1st.com/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';
    var ignoreIdList = localStorage.getItem("ignoreIdList");
    if(ignoreIdList && ignoreIdList.length/1024 > 20 ){//限制最大20kb后重置
        ignoreIdList = '';
    }
    if (ignoreIdList) {
        var ignore = ignoreIdList.split(',');
        if (typeof (ignore) !== 'object' || ignore.length <= 0) {
            ignore = [];
        }
    } else {
        var ignore = [];
    }
    var pushList = [];
    var threadlist = document.getElementsByClassName('xst');
    for (var index in threadlist) {
        var href = threadlist[index].href;
        if( threadlist[index].innerText== '平安夜,分局有个民警跳楼了'){
            debugger;
        }
        if(href){
            var threadMatch=href.match(/thread\-[0-9]+\-/g);
            var threadStr = threadMatch && threadMatch.length > 0 ? threadMatch[0] : '';
            var treadIdMatch = threadStr.match(/[0-9]+/g);
            var idStr = threadStr && threadStr.length > 0 ? treadIdMatch[0] : '';
            if (idStr) {
                var patt = null;
                var exist = false;
                for (var i in ignore) {
                    if(typeof(ignore[i]) === 'string'){
                        var ignoreId = ignore[i];
                        patt =new RegExp(ignoreId,"g");;
                        if (patt.test(idStr)) {
                            exist = true;
                        }
                    }
                }
                if (exist) {
                    threadlist[index].style.color = 'gray';
                } else {
                    pushList.push(idStr);
                }
            }
        }
    }
    ;
    var newIgnore = ignore.concat(pushList);
    var ignoreIdList = newIgnore.join(',');
    localStorage.setItem("ignoreIdList", JSON.stringify(ignoreIdList));
})();