如何使用Greasemonkey从其他AJAX站点获取信息?

时间:2017-11-03 14:49:31

标签: jquery ajax greasemonkey

我想使用Greasemonkey在站点菜单中显示更多信息。 新信息应显示菜单链接后面有多少订单/项目。

e.g。 新订单(1) 证明订单(20)

我试过这段代码:

//NEW
var pageInhalt = getTheImportant('http://example.com/orders.php?s=NEW&');
if (pageInhalt.indexOf('from ') > 0) {
   var amount = pageInhalt.substring( pageInhalt.indexOf('from ')+4,  pageInhalt.indexOf('</td>', pageInhalt.indexOf('from ')+5));
   $( "#div01" ).find( "li:contains('NEW')" ).append(' (' + amount + ') ');
}
else { $( "#div01" ).find( "li:contains('NEW')" ).append(' (0) '); }

function getTheImportant(url) {
  var result;

  $.ajax({
      type:    "GET",
      url:     url,
      async:   false,
      success: function(data) {
        result = data;
      }
  });

  return result;
}

但是现在源已经从静态表变为动态表。 我的问题是动态部分将加载我需要的信息 - 订单/物品的数量。

所以我的$.ajax不再有效了。

我知道我可以使用waitForKeyElements,我也可以将此succsessfull与其他脚本一起使用但没有$.ajax调用。
如何告诉$.ajax等待关键元素?

来自OP的回复,如下:

包含该表的网站位于登录后面。但我可以展示一个看似相似的例子:
datatables.net/examples/styling/jqueryUI.html

在那里你可以看到'显示57个条目中的31到40个' 数字57将是我需要的信息。

这个页面的一个页面我用这种方式使用Greasemonkey:

function makeAction (jNode) {
   //find the number of entries an do somthing with the result
   $(this).find....
}

waitForKeyElements (".odd", makeAction);

但我需要一些帮助,以便通过使用AJAX的链接(menuelink)获取此信息。
如果我使用AJAX,我将只获得没有动态部分的源代码 - 表。所以我的结论是我应该使用waitForKeyElements和AJAX?

0 个答案:

没有答案