鉴于网页上的项目随着时间的推移会被 AJAX 调用更改,用户脚本如何在这些更改发生时得到通知?
想象一下 Facebook 新闻源。当您加载页面时,它有 12 个项目。这些元素包裹在 <li>
中<ul>
中包含的标签.当您向下滚动页面时,新的 <li>
数据 block 加载到 <ul>
.
我想知道如何将此类更改通知用户脚本。
一个想法是不断查询 <ul>
,计算它的项目,并观察这个数字是否变大。可能,但要在发生变化时立即捕捉到变化,它可能必须运行得如此频繁以至于代价太高。
另一个想法是找出触发加载的滚动位置,并观察这种变化。成本较低,但非常具体。
我想知道是否有第三种选择。 每当发生变化时都会通知我的东西。我不仅对提要感兴趣,而且更普遍地对这个概念感兴趣。给定页面上的项目被 AJAX 调用更改,用户脚本如何获得有关这些更改的通知?
最佳答案
劫持发送方法
var oldSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(){
// do what you need; then send the request
oldSend.apply(this, arguments);
}
关于javascript - 用户脚本如何获得有关页面上由 ajax 驱动的更改的通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828171/