最近在使用Flex,要将IFrame嵌入Flex。虽然网上有非常多互相转载的实现方法,但经本人使用后,发现整合性上还是比较差的。
Flex使用IFrame的机制,其实就是在页面上多加一个层(Div)标记,然后将IFrame作为innerHTML加入。对于位置固定的IFrame,没有什么问题,但如果有多个IFrame,而且位置可由用户拖动,那么问题来了。
1. 涉及到Div层互相覆盖。
2. 涉及Div层坐标位置的变化。
要解决以上两个问题,我通过调用js实现,但js的debug界面不佳,随意我是比较反感使用的。
虽然Adobe在Flex 3中推出了HTML对象,可直接嵌套网页,省却了调用Div,但我本人使用后,发现存在2个比较严重的问题:
1. HTML对象只能用于air项目,air项目一般是C/S结构的desktop application,缺少B/S结构集中维护、方便分发的缺点。
2. 使用HTML调了张sina的页面,cpu占用率始终维持在100%的高位,不知是否为flex 3 beta的一个bug.
综上,建议大家在开发系统时,不要忽视Flex+Iframe这一问题。