在某些网站上,HTML标记在某些事件发生后加载(javascript函数加载查询或搜索,或者用户需要向下滚动)。
编写自己的javascript函数以尝试通过window.onload
编辑这些标记时,由于标记在技术上尚未存在,因此该函数不执行任何操作。将函数放在正文的底部是行不通的,因为这些标记在等待一段时间之后不会加载,但是在它们关联的javascript函数创建它们之后。
例如,如果您想在搜索后更改 Google图像中div的灰黑色(向下滚动时会加载更多图片,但不会执行任何操作如果你不这样做,即使你试图写一个Greasemonkey脚本来执行window.onload
的动作,它也不会在向下滚动后做任何事情,因为它已经加载了。
每次用户向下滚动时,一个可能的(但粗略的)解决方案是重新运行该函数(如各种鼠标监听器)?或者你会推荐另一种方法吗?只是延迟功能并不起作用,因为它取决于用户何时决定滚动。
答案 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;