有時(shí)候我們需要在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頁(yè)面中,然后通過(guò)Flex2中的ExternalInterface(Flex1.5使用getURL("javascript:javascriptMethod"))
來(lái)實(shí)現Flex與HTML javascript的相互交互,進(jìn)一步的,如果要在Flex應用中嵌入完整的HTML呢?
其實(shí)實(shí)現的方法很簡(jiǎn)單,只需要使用HTML的Iframe標簽來(lái)導入需嵌入的HTML頁(yè)面,
然后使用ExternalInterface調用相應的javasript將該Iframe移動(dòng)到我們Flex頁(yè)面需要嵌入HTML頁(yè)面的部分之上就可以了,示意圖如下:
也就是說(shuō),我們包含Flex SWF文件的HTML頁(yè)面主要有三個(gè)部分:
1、Flex swf 插件容器,FlexBuilder自動(dòng)生成部分
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="
2、HTML Iframe標簽,絕對定位,用來(lái)導入HTML頁(yè)面
<iframe id="myFrame" name="myFrame" frameborder="0"
style="position:absolute;background-color:transparent;border:0px;visibility:hidden;" />
3、移動(dòng)Iframe和在Iframe中導入需嵌入Flex中的HTML頁(yè)面的腳本
<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>
注:關(guān)鍵點(diǎn),系統產(chǎn)生的html頁(yè)面需要手動(dòng)加入上述代碼,否則沒(méi)有效果,許多朋友看不到實(shí)例效果就是這個(gè)原因。
查看更多...
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。