chrome扩展javascript中的循环使页面无法加载
我只是想在脚本运行之前设置一个条件,所以我决定在代码运行之前运行这个循环,但是网站不想加载它:chrome扩展javascript中的循环使页面无法加载,javascript,loops,google-chrome,Javascript,Loops,Google Chrome,我只是想在脚本运行之前设置一个条件,所以我决定在代码运行之前运行这个循环,但是网站不想加载它: s =document.documentElement.innerText.split(",")[5] while (s != " 2021 - June 25"){ s =document.documentElement.innerText.split(",")[5] } 它检查字符串是否正确,以便运行完整脚本。我这样做是因为网站
s =document.documentElement.innerText.split(",")[5]
while (s != " 2021 - June 25"){
s =document.documentElement.innerText.split(",")[5]
}
它检查字符串是否正确,以便运行完整脚本。我这样做是因为网站有动态内容和负载在2倍。希望你能理解我。
网站为:
谢谢。您可以使用以下技巧:
var checkInterval = setInterval(()=>{
if(document.querySelector('.slowImageClass')!=null){
document.querySelector('.slowImageClass').addEventListener('load', () => {
clearInterval(checkInterval ); //To stop the loop
//Your actions
});
}
},300 /** time in milliseconds **/);
事件仅适用于少数DOM元素类型。图像就是其中之一。在最坏的情况下,如果您真的需要检查此use setTimeout而不是for Loop,这是否回答了您的问题?看起来您试图做的是造成一个无限循环。while条件将始终为真,并且这种情况将继续发生。没有别的办法了。谢谢你的回答。但在屏幕上显示之前,它会显示为null吗?它们不能出现在html代码中,但不能出现在屏幕上吗?我可以对另一个类(比如字符串)执行同样的操作吗?Load用于加载图像。当它们位于DOM(HTML代码)中时,if条件变为true。当图像被实际加载时,事件处理程序被执行。好的,谢谢你,在我检查图片元素并获取类名时,我试图在网站中使用它。document.querySelector('hero-image--image wrapper ng scope')在控制台中总是返回null,这正常吗?别忘了类前面的“.”。如果它是一个id,那么对于您必须使用的多个类,它就是“#”。比如->document.querySelector('.hero-image-image.animated');