我正在使用IFrame并动态添加它,它隐藏了一个新的Alert.show和一个以前制作的TitleWindow。
如何安排它返回或将警报或窗口置于最重要的位置?
答案 0 :(得分:0)
我猜你正在使用mx:HTML组件来显示一些HTML。我的项目中遇到了同样的问题,IFrame对象总是显示在所有内容之上。
一种有效的解决方法是隐藏HTML组件并显示它的位图快照。这样,警报或任何弹出窗口都会显示在它上面。
我是这样做的
private var _snapshotImage:Bitmap;
private function toggleSnapshotMode(htmlVisible:Boolean):void
{
if(!htmlVisible)
{
var bitmapData:BitmapData = new BitmapData(htmlLoader.width,htmlLoader.height,false);
bitmapData.draw(htmlLoader,null,null,null,null,true);
_snapshotImage = new Bitmap(bitmapData);
_snapshotImage.x = htmlLoader.x;
_snapshotImage.y = htmlLoader.y;
html.addChildAt(_snapshotImage,0);
}
else
{
html.removeChild(_snapshotImage);
}
html.htmlLoader.visible = htmlVisible;
}
答案 1 :(得分:0)
不幸的是,你不能,因为他们是不同观点的父母heirachy的。
Popup由SWF管理,是应用程序显示列表的子代。 IFrame由HTML管理,并且是DOM的子级。
即:
+ HTML Page
|
|
+---IFrame
|
+---SWF (Flex Application)
|
+--- System Manager
| |
| +---- Popup's // <---- Your Popup is here
+--- Application
不幸的是,我知道没有解决方案,你需要在IFrame中显示弹出窗口,或者删除IFrame以显示弹出窗口。