如何检测所有帧都已从Chrome扩展程序中的内容脚本返回响应?

时间:2011-01-25 07:20:45

标签: javascript google-chrome-extension

我希望我的Chrome扩展程序在查看弹出窗口之前重新运行所有打开的标签页的内容,以收集有关每个网页的最新数据(它将消息发送到后台页面)。我的问题是,为了获得对每个iframe的完全访问权限,我需要将allframes设置为true。这意味着在显示弹出窗口之前,我需要等到我收到每个帧的消息。

我的问题是我不知道如何确定有多少帧。我看过的一种方法是从内容脚本中检测帧数,但是有一个开放的错误,表明你现在无法请求。另一个是等待一些响应,这些响应等同于我第一次导航到页面时所获得的响应,但是由于AJAX调用,可能会增加从那时起增加的帧数。最后,我希望对chrome.extension.SendRequest的响应将包含此类信息,但事实并非如此。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我建议您始终从清单中运行内容脚本,以便每次加载新帧时都会运行内容脚本。然后,让内容脚本打开扩展的端口,以便每个打开的框架都有一个到后台的端口。然后由后台页面跟踪每个选项卡的所有打开端口,并将消息发送到所需的端口。