Javascript Google Chrome扩展如何等待页面完全加载(加载屏幕)

Javascript Google Chrome扩展如何等待页面完全加载(加载屏幕),javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我的chrome扩展正在尝试在页面上使用CSS选择器来获取某些元素。我遇到了这样一个问题:在网站上,在其changeInfo.status被执行后,异常/持续加载元素。当我的脚本被执行时,它不会从未加载的部分获取信息。例如,带有加载屏幕的网站和带有多个框架的网站。一个可能的解决方案是用户点击一个按钮来执行脚本,但我想知道是否有其他方法可以告诉我的脚本等待页面完全加载,这样它就可以自动提取信息。我想要一个替代方案,而不是将allFrames设置为true,因为它不适用于所有存在此问题的网站,我也不

我的chrome扩展正在尝试在页面上使用CSS选择器来获取某些元素。我遇到了这样一个问题:在网站上,在其changeInfo.status被执行后,异常/持续加载元素。当我的脚本被执行时,它不会从未加载的部分获取信息。例如,带有加载屏幕的网站和带有多个框架的网站。一个可能的解决方案是用户点击一个按钮来执行脚本,但我想知道是否有其他方法可以告诉我的脚本等待页面完全加载,这样它就可以自动提取信息。我想要一个替代方案,而不是将allFrames设置为true,因为它不适用于所有存在此问题的网站,我也不认为我的脚本需要在遇到的每个帧上运行。我还尝试等待加载事件,但这对我不起作用。

因为加载事件将在动态内容加载之前触发,所以您将无法使用它。如果您没有内容加载的挂钩,并且想要更“自动化”的内容,那么可以使用递归超时函数,定期检查所需内容,以便在内容出现时加载并执行操作

function timeoutFunction(){
var inputVal=document.getElementById(“checkThis”).value;
控制台日志(inputVal);
如果(输入值!=“停止”){
设置超时(timeoutFunction,3000);
log(“找不到关键字”);
}否则{
log(“找到关键字”);
}
}
$(function(){setTimeout(timeoutFunction,3000)})
该功能将每隔三秒检查该输入值是否为“停止”

我使用的是普通javascript,但我理解其中的逻辑。有没有一种方法不需要经常检查信息?因为有些值在大多数网页上都是不一致的,而且让它无限期运行似乎很奇怪。如果没有,我相信我可以为超时添加一个计数器,并在一定数量的超时后结束。它不会无限期运行。一旦加载了要查找的信息,递归过程就会停止。如果找不到正确的信息,它会停止吗?我想说的是,即使页面已完全加载,有时我要查找的信息也不会出现。是的,这就是为什么在我提供的示例中,计时器仅在所需内容不存在时才会运行。一旦出现所需的内容,过程结束。