2

有一个页面加载了一个像这样的空跨度:<span id="bla"></span>然后用一些文本填充该跨度。

我需要我的脚本来获取该文本,但 Greasemonkey 在填充文本之前运行,甚至waitForKeyElements我尝试使用的函数也无济于事,因为页面加载时元素已经存在。

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

waitForKeyElements ("#bla", get_span_content)
4

1 回答 1

2

由于您已经在使用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;
}
于 2013-04-23T12:20:56.200 回答