我想使用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?