2

我为某个网站编写了这个greasemonkey/user.js 脚本。该网站有一个表格,不时输出信息;它通过添加一个带有信息的新表格来实现。

目前我只是检查一个定时循环,如果那里有新的东西。但我可以这样做不同吗?我可以添加一个监听器,只要出现带有信息的新表行就会触发?如果是这样怎么办?

编辑:我想检查的表只包含表行。每次出现新信息时,都会添加一个新行,其中包含一些文本。该表似乎有一个最大长度。所以如果它是一个完整的表,最旧的 tr 将被删除。把它想象成一个聊天框,它非常相似。

我当前的定时循环检查该表中未标记的表行,从中获取信息并标记它们。所以它只检查未标记的。

以及其中一个表格的示例:

<tr class="tagged">
  <td align="left" style="vertical-align: top;">
    <div class="someClass" style="width: 100%;">
      some info i'm interested in
    </div>
  </td>
</tr>
4

2 回答 2

2

@wong2 好电话。这适用于 IE9、FF4、Chrome 6 中的我(在用户脚本之外):

myTable = document.getElementsByTagName('table')[0];

if (document.implementation.hasFeature('MutationEvents','2.0')
    || window.MutationEvent) {

    myTable.addEventListener('DOMNodeInserted', function(e) {
        console.log('data added');
    }, false);
}
于 2011-06-09T15:29:25.117 回答
2

Mutation Events,也许您可​​以使用DOMNodeInserted事件,因为插入了新行。

于 2011-06-09T15:02:42.857 回答