我在AIR桌面应用程序中有一个mx:html组件,用于将外部网页加载到其中......
此网页中包含iframe,iframe加载(显然)另一页...
我无法弄清楚如何获取iframe的代码......
如果我尝试获取网页内容,我只会检索起始页面,如:
File webpage.html
<html>
<!-- html code-->
<iframe src="http://host/framepage.html">content default</iframe>
<!-- other html code-->
</html>
档案framepage.html
<div>test test test</div>
我想获得字符串<div>test test test</div>
请告诉我有办法获取iframe的内容(不重新加载)...
修改
使用
查看Exort的回复var iFrame:* = domWindow.document.getElementById("myIframe");
会将iframe返回给我,但内容不是我想要的... 使用我上面的网页和框架页面示例,我将获得的iframe内容是
content default
而不是
<div>test test test</div>
就像第二页未加载一样,但它实际上是在浏览器窗口中加载和渲染的(我也尝试使用按钮,因此我可以延迟搜索iframe内容。
答案 0 :(得分:1)
我没有太多时间,所以这可能不是一个非常深刻的答案,但iframe在一个窗口中被考虑并且有一个自己的文档。您可以使用类似这样的html DOM获取它的内容。顺便说一句,这是AS3,如果我使用'*'作为对象类型。使用对象类型在这里不会很好用。
var domWindow:* = myHTML.htmlLoader.window; //DOM window object
//if you don't have the id, you can get all iframes with getElementsByTagName("iframe")
var iFrame:* = domWindow.document.getElementById("myIframe");
var iFrameContent:String = iframe.contentDocument.body.innerHTML;