Javascript 使Greasemonkey对元素的ajax更改作出反应

Javascript 使Greasemonkey对元素的ajax更改作出反应,javascript,greasemonkey,Javascript,Greasemonkey,有一个页面加载了一个空的span,如下所示:,然后用一些文本填充该span 我需要我的脚本来获取文本,但是Greasemonkey在填充文本之前运行,甚至我尝试使用的WaitForkEyements函数也没有帮助,因为页面加载时元素已经存在 也许我需要另一种方式?目前我正在做: waitForKeyElements ("#bla", get_span_content) 由于您已经在使用,请使用action函数的返回值来微调结果。如果跨度仅填充/更改一次,代码如下所示: waitForKeyE

有一个页面加载了一个空的span,如下所示:
,然后用一些文本填充该span

我需要我的脚本来获取文本,但是Greasemonkey在填充文本之前运行,甚至我尝试使用的
WaitForkEyements
函数也没有帮助,因为页面加载时元素已经存在

也许我需要另一种方式?目前我正在做:

waitForKeyElements ("#bla", get_span_content)

由于您已经在使用,请使用action函数的返回值来微调结果。如果跨度仅填充/更改一次,代码如下所示:

 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;
}


如果同一跨度被多次更改,代码如下所示:

 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;
}

工作起来很有魅力。同时也感谢您在问题中提供了更好的格式