我使用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>
我不太明白它为什么会破坏网站,你能帮我吗?有没有更好的方法来突出显示区分大小写且部分匹配单词的文本?
暂无答案!
目前还没有任何答案,快来回答吧!