javascript(tampermonkey)文本高亮显示禁用按钮

ymdaylpp  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(249)

我使用mark.js插件创建了一个tampermonkey脚本来突出显示网页上的某些关键信息。

// @require      https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
// @require      https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js
// @require      https://gist.github.com/raw/2625891/waitForKeyElements.js
// @require      http://code.jquery.com/jquery-3.4.1.min.js
// @require      https://raw.githubusercontent.com/julmot/mark.js/master/dist/mark.js
// @include     http://localhost/vortek_php/*
/* globals jQuery, $, waitForKeyElements, angular, this, Mark */
// @grant       GM_addStyle

waitForKeyElements (
    'tr',
    read_table_rows
);

function read_table_rows(){
    console.log('checkedout')
    let tr_ele = ''
    tr_ele = document.getElementsByTagName("tr");
    for (var i = 0; i < tr_ele.length; i++) {

        // Looking for tr elements which does not have the 'mark' element

        let is_present = tr_ele[i].getElementsByTagName("mark")[0]
        if (typeof(is_present) == 'undefined' || is_present == null){
            //console.log('not present')
            var instance = new Mark(tr_ele[i]);
            instance.mark("Sta Sword bee pokemon", {
                "each": function(mark){
                    mark.setAttribute("style", "color: black; background-color: coral;");
             }
         });
            // console.log(tr_ele.textContent);
        }

    }

    return(false)

};

该网站基于angular js构建,包含约100行信息。每次只加载约15行,当用户上下滚动时,其余的按需呈现。这就是为什么我们一直在寻找“tr”元素。
该网站还包括2个按钮在每行的结尾,我们需要审查和信息,并选择一个按钮。荧光灯工作正常,但按钮停止工作:

<label _ngcontent-c10="" ngbbuttonlabel="" class="btn btn-agree ng-star-inserted">
   <input _ngcontent-c10="" ngbbutton="" type="radio" value="AGREE" ng-reflect-value="AGREE" name="decision">YES 
</label>

我不太明白它为什么会破坏网站,你能帮我吗?有没有更好的方法来突出显示区分大小写且部分匹配单词的文本?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题