javascript - 如何检测 Google Instant 页面是否已完全加载?

标签 javascript ajax browser-extension google-instant

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

问题:如果在 Google 即搜即得结果页中添加任何内容,而它仍在加载过程中,它将覆盖所有添加内容。我发现自己写了一些非常不稳定的 setInterval 业务(等到 ol#rso 的内容停止改变大小,诸如此类)所以我想这意味着我不确定如何可靠地确定页面加载完成。

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

编辑:记住,我不能使用 DOMElementWhatever,因为 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 有了一些相当好的理解。 ;)

关于javascript - 如何检测 Google Instant 页面是否已完全加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542052/

相关文章:

javascript - jQuery 分割文本

javascript - 当另一个复选框被重叠选中时取消全部选中/选中一个复选框

javascript - CSS 内容:url() 无法在 Firefox 和 Edge 中正常工作(即使使用::before 或::after)

javascript - 在完成前一个请求之前中止新的 AJAX 请求

javascript - 如何在没有不安全的内联 JavaScript/CSS 代码的情况下使用 React?

javascript - 安卓:用JS设置window.location

php - 我们可以使用 post 方法传递数组值吗

javascript - 通过 Ajax 提交表单

safari-extension - 将消息从 safari 扩展弹出窗口发送到全局页面

google-chrome-extension - Rapportive 等 Gmail 插件如何工作?