有時候我們需要在Flex應用中嵌入HTML代碼,根據嵌入HTML要求的不同有以下兩種方法:
1、Flex文本組件(Label、Text、TextArea)的htmlText屬性支持一些基本的HTML代碼,例如:
<mx:TextArea>
<mx:htmlText>
<![CDATA[
<p align="center"><font size="15" color="#3399ff">this is a html code</font></p>
]]>
</mx:htmlText>
</mx:TextArea>
2、我們可以將Flex應用嵌入到HTML頁面中,然后通過Flex2中的ExternalInterface(Flex1.5使用getURL("javascript:javascriptMethod"))
來實現Flex與HTML javascript的相互交互,進一步的,如果要在Flex應用中嵌入完整的HTML呢?
其實實現的方法很簡單,只需要使用HTML的Iframe標簽來導入需嵌入的HTML頁面,
然后使用ExternalInterface調用相應的javasript將該Iframe移動到我們Flex頁面需要嵌入HTML頁面的部分之上就可以了,示意圖如下:
也就是說,我們包含Flex SWF文件的HTML頁面主要有三個部分:
1、Flex swf 插件容器,FlexBuilder自動生成部分
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="
2、HTML Iframe標簽,絕對定位,用來導入HTML頁面
<iframe id="myFrame" name="myFrame" frameborder="0"
style="position:absolute;background-color:transparent;border:0px;visibility:hidden;" />
3、移動Iframe和在Iframe中導入需嵌入Flex中的HTML頁面的腳本
<script>
function moveIFrame(x,y,w,h) {
var frameRef=document.getElementById("myFrame");
frameRef.style.left=x;
frameRef.style.top=y;
frameRef.width=w;
frameRef.height=h;
}
function loadIFrame(url){
top.frames["myFrame"].location.href=url;
}
</script>
注:關鍵點,系統(tǒng)產生的html頁面需要手動加入上述代碼,否則沒有效果,許多朋友看不到實例效果就是這個原因。
查看更多...
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。