javascript-使Greasemonkey对元素的ajax更改做出反应
作者:互联网
有一个页面加载时像这样的空跨度:< span id =“ bla”>< / span>然后用一些文本填充该范围.
我需要我的脚本来获取文本,但是Greasemonkey会在文本填充之前运行,甚至我尝试使用的waitForKeyElements函数也无济于事,因为加载页面时该元素已经存在.
也许我需要其他方式?目前我正在做:
waitForKeyElements ("#bla", get_span_content)
解决方法:
由于您已经在使用waitForKeyElements,因此请使用操作函数的返回值来微调结果.如果跨度仅填充/更改一次,则代码如下所示:
waitForKeyElements ("#bla", get_span_content);
function get_span_content (jNode) {
var spanText = $.trim (jNode.text () );
if (spanText == "") {
//-- Still blank; tell waitForKeyElements to keep looking.
return true;
}
else {
// DO WHATEVER WITH spanText HERE.
}
}
如果同一跨度被多次更改,则代码将如下所示:
waitForKeyElements ("#bla", get_span_content);
function get_span_content (jNode) {
var spanText = $.trim (jNode.text () );
var lastText = jNode.data ("lastText") || "";
if (spanText != lastText) {
// DO WHATEVER WITH spanText HERE.
jNode.data ("lastText", spanText);
}
return true;
}
标签:javascript,greasemonkey 来源: https://codeday.me/bug/20191012/1900458.html