当前位置: 首页 > 面试题库 >

如何检测Google即搜即得页面已完全加载?

郎健柏
2023-03-14
问题内容

我正在使用浏览器扩展(想想SEOQuake)-我需要显示一些有关显示的搜索结果的数据。

问题:如果仍在加载过程中将任何内容添加到Google
Instant结果页面,它将覆盖所有添加内容。我发现自己写了一些非常古怪的setInterval业务(一直等到内容的ol#rso大小停止变化之类的东西),所以我想那意味着我不确定如何可靠地确定页面是否已完成加载。

可以 让它等待1-2秒,但是我真的想在加载结果后立即开始获取数据,以节省最大的时间。

编辑:请记住,无论如何我都不能使用DOMElement,因为IE8不支持它。


问题答案:

试试这个:

window.addEventListener("message", function(e) {if(e.data == 'jrc') console.log('loaded')}, false);

在IE 8+和所有其他浏览器中都可以使用:http :
//caniuse.com/#feat=x-doc-messaging

如果在IE 8中无法正常工作(目前无法在Mac上进行测试),请告诉我。我相信在过去的一个小时中,我对rs.js有了一定的了解。;)



 类似资料:
  • 问题内容: 关于新的Google即时搜索的工作原理有什么想法?似乎只是AJAX对旧搜索的调用,但是要简化这么多Google很难。有人猜测吗? 编辑:我知道每次按键都发送AJAX,但这是可预测的吗?还是您认为这只是常规的Google搜索? 问题答案: 更新: Google刚刚在幕后发布了一篇名为Google Instant 的博客文章。这是一个有趣的读物,并且显然与此问题有关。例如,您可以阅读他们如

  • 我们使用SeleniumQuery-0.19.0进行硒测试。 我们注意到$.url()没有等待页面完全加载。我还尝试了$.driver().get().navigate().to(url);。 null > 等待,即$(“*[id='login.username']”).WaitUntil(5000).IsPresent(); 超时,即$.driver().get().manage().timeo

  • 问题内容: 页面完全加载后,我需要执行一些JavaScript代码。这包括图像之类的东西。 我知道您可以检查DOM是否准备就绪,但是我不知道这是否与页面完全加载时相同。 问题答案: 叫做。在DOM准备就绪之前就已经出现了问题,实际上是由于等待图像的确切原因而创建了DOM ready 。

  • 问题内容: 我有一个似乎无法解决的性能问题。我有一个即时搜索功能,但是有点麻烦,因为它开始在每个位置上搜索。 JS: HTML: JSON数据甚至没有那么大,只有300KB,我认为我需要完成的是在搜索上放置〜1秒的延迟,以等待用户完成键入操作,而不是对每个按键执行操作。AngularJS在内部执行此操作,在阅读了文档和此处的其他主题之后,我找不到特定的答案。 我将不胜感激如何延迟即时搜索的任何指示

  • 问题内容: 我正在使用python API将一些Selenium RC测试转换为Selenium WebDriver。在Selenium WebDriver中,我注意到这似乎要等待整个页面加载后才能继续。有没有一种方法可以不等待页面加载?我要请求的某些页面具有很多外部资源,这些资源可能需要很长时间才能加载。我宁愿等待DOM上的元素出现,也不愿等待所有内容加载。因此,我的某些测试在WebDriver

  • 我正在使用python api将一些Selenium RC测试转换为Selenium WebDriver。在Selenium WebDriver中,我注意到似乎要等待整个页面加载才能继续。有没有办法不等待页面加载?我请求的一些页面有很多外部资源,可能需要很长时间才能加载。我宁愿等待DOM上的元素出现,也不愿等待所有内容加载。因此,我的一些测试在WebDriver中花费的时间似乎是原来的两倍。