`
redsky008
  • 浏览: 347090 次
  • 性别: Icon_minigender_1
  • 来自: 成都正在项目
社区版块
存档分类
最新评论

Flex中使用IFRRAME以调用外部网页使用注意事项

    博客分类:
  • FLEX
 
阅读更多
Flex中使用IFRRAME以调用外部网页使用注意事项

1. 对于多个地方需要调用外部网页的地方尽量避免切换菜单的方式调用,最好的调用方式是
弹出框的方式调用。

2. Flex中尽量避免右键菜单的使用,IFRAME的嵌套页面尽量避免尺寸修改的使用,因为尺寸的大小直接影响到设计效果。

3. 尽量避免使用Flex弹出框,尽量采用IFRAME中的弹出框,即时要用Flex中的弹出框,可以采用如下方式:
   透明化Flex的主要组件,但是既然是透明,就不要用背景图片了,背景图片对IFRAME的干扰影响很大。

4. flexiframe:IFrame中的属性不要用overlayDetection=true,否则在FlashPlayer中弹出框时IFRAME中的
内容会临时隐藏,效果不好。

5. 附上网上解决IFRAME与FlashPlayer遮盖的方法,最好的就是使用修改Flex中代码以调整IFRAME外部DIV的z-index值的优先级,
以及修改index.template.html中代码以使FlashPlayer中装载的内容透明化(切记不要背景)
关键代码如下:
Flex中代码:(注意mx:Application对flexiframe:IFARAME的支持要比s:Application获取的效果要好,但不管如何只要不能避免
上面所述内容,效果都会很烂的,而且Group标记以及Panel标记也是很重要的哟,其他标记只有自己尝试了^_^。)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application ....>
<mx:Script>
    <![CDATA[            
        protected function panel_mouseover(event:MouseEvent):void{
            iframhideshow(1);
        }
        protected function panel_mouseout(event:MouseEvent):void{
            iframhideshow(-1);
        }
        private function iframhideshow(val:int):void{
            ExternalInterface.call("eval", "(function(){document.getElementById('map0').style.zIndex='"+val+"';})()")
        }
    ]]>
</mx:Script>
<s:Group mouseOver="panel_mouseover(event)" mouseOut="panel_mouseout(event)" x="406" y="126">
        <flexiframe:IFrame source="http://ditu.aliyun.com"
                           id="map"
                           label="map"
                           width="740"
                           height="370" />
</s:Group>
</mx:Application>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>${title}</title>         
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
        <style type="text/css" media="screen"> 
            html, body    { height:100%; }
            body { margin:0; padding:0; overflow:auto; text-align:center; 
                   background-color: ${bgcolor}; }   
            #flashContent { display:none; }
        </style>
 
        <script type="text/javascript" src="swfobject.js"></script>
    </head>
    <body>
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="${width}" height="${height}" id="${application}_ie" name="${application}">
            <param name="movie" value="${swf}.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="${bgcolor}" />
            <param name="allowScriptAccess" value="sameDomain" />
            <param name="allowFullScreen" value="true" />
              <param name="wmode" value="transparent">
          <embed id="${application}_ff" name="${application}" src="${swf}.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="${width}" height="${height}" wmode="transparent"></embed> 
        </object>
   </body>
</html>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics