仅在页面JS更改内容后运行Greasemonkey javascript?

时间:2014-12-10 02:06:13

标签: javascript greasemonkey onload

在某些网站上,HTML标记在某些事件发生后加载(javascript函数加载查询或搜索,或者用户需要向下滚动)。

编写自己的javascript函数以尝试通过window.onload编辑这些标记时,由于标记在技术上尚未存在,因此该函数不执行任何操作。将函数放在正文的底部是行不通的,因为这些标记在等待一段时间之后不会加载,但是在它们关联的javascript函数创建它们之后。

例如,如果您想在搜索后更改 Google图像中div的灰黑色(向下滚动时会加载更多图片,但不会执行任何操作如果你不这样做,即使你试图写一个Greasemonkey脚本来执行window.onload的动作,它也不会在向下滚动后做任何事情,因为它已经加载了。

每次用户向下滚动时,一个可能的(但粗略的)解决方案是重新运行该函数(如各种鼠标监听器)?或者你会推荐另一种方法吗?只是延迟功能并不起作用,因为它取决于用户何时决定滚动。

1 个答案:

答案 0 :(得分:1)

以下是滚动窗口时如何添加图片的示例:



window.onscroll = myFunction;

function myFunction() {

  if (!document.getElementById('img1')) {
    var img1 = new Image();
    img1.id = 'img1';
    img1.src = 'http://placekitten.com/g/200/300';
    document.body.appendChild(img1);
  }

}

<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
&#13;
&#13;
&#13;