如何检测iframe内容元素的加载请求?

时间:2013-09-13 09:08:22

标签: javascript html iframe firefox-os

我正在尝试用纯HTML创建一个带有WebRTC DataChannels的安全Darknet,所以我不想知道iframe何时已经完全加载,而是我有兴趣捕获iframe元素(内嵌图像)所以我使用自定义方案,因此我可以从父页面(连接到Darknet的页面)中使用实际数据进行实际请求和响应。使用mozbrowserlocationchange对象的FirefoxOS Browser API事件(iframe的扩展)我可以捕获用户导航,取消它,在Darknet上执行真实请求,然后将iframe注入到真实状态父页面提取的内容,但是如何在此加载的页面上对内嵌图像和脚本执行相同操作?或者这目前不可能,我应该向他们询问有关添加此功能的信息吗?

显然,我对iframes内容页面没有任何控制权,因此它们可以通过任何方式和任何方式创建,而且浏览器API的使用也只是因为它似乎对我来说是最有用的。我试图这样做,理想情况下如果可以通过普通的iframe实现它将是完美的......: - )

更新

我想到的半解决方案是因为我能够捕获mozbrowserlocationchange事件以执行HTML页面的真实内容请求,然后在填充iframe之前执行其链接的请求图像和脚本并将它们设置为内联,以防止iframe执行更多请求。与当前的Web标准(没有AJAX,没有脚本标签的异步加载......)相比,这只会导致一些非常简单的网页,但绝对可以在某些时候使用它: - )

无论如何,还有其他更好的选择吗?

1 个答案:

答案 0 :(得分:1)

这听起来像是某种东西,只要服务控制器(以前称为NavigationControllers)被实现,就可能(直截了当,甚至),但我不知道通过任何方式实现这一点目前可用的方法。

难怪你没有找到关于此的信息 - 该提案被称为“服务工作者”(虽然,此前称为事件工作者,甚至在此之前,他们被称为 - 猜测是什么 - 导航控制器)。这是一个生动的规范! ;)在GitHub上找到工作草案:https://github.com/slightlyoff/ServiceWorker/lengthy explainer document可以让你去。

此外,还有一个包含current Chrome (blink) implementation plans的文档。