小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在各種瀏覽下html嵌入flash/flex以及flex和java相互調(diào)用的簡單例子

 水晶漣漪 2010-04-20

在各種瀏覽下html嵌入flash/flex以及flexjava相互調(diào)用的簡單例子

JAVA參考代碼:

<!-- javascript 代碼如下-->

<script type=”text/javascript”>

function testPageInit(){

  alert(“hello flash”);

var myFlashMovie=window.document[“myFlashMovie”];

var dataStr=”10,20,30”

myFlashMovie.setTestValue(dataStr);

}

function changePageTitleName(){

document.title=”Flex Changed the Title”;

}

</script>

<!-- html 代碼如下-->

<table width=”100%” height=”100%”>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
           codebase=http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab

id="myFlashMovie" width=”100%” height=”100%” type=”application/x-oleobject”>
      <param name=”movie” value="test.swf"/>

<param name=”quality” value="high"/>

<param name=”wmode” value="transparent"/>

<param name=”bgcolor” value="#869ca7"/>

<param name=”allowScriptAccess” value="sameDomain"/>

<param name=”FlashVars” value="onload=testPageInit"/>

<embed src="test.swf"

width=”100%” height=”100%” type="application/x-shockwave-flash"

 play=”true” name="myFlashMovie"

id="myFlashMovie" align=”middle” bgcolor=”#FFFFFF”
       quality=”high”

flashvars=” onload=testPageInit

loop=”false”

wmode=” transparent”

allowScriptAccess=” sameDomain

pluginspage=http://adobe.com/go/getflashplayer>
      </embed >

</object >

</table>

FLEX參考代碼:

<?xml version=”1.0” encoding=”utf-8”>

<mx:Application creationComplete=”init()” xmlns:mx=”http://www.adobe.com/2006/mxml

 Layout=”absolute”>

<mx:Script>

      <![CDATA[

      private var _testValue:String;

      private function init():void{

           ExternalInterface.addCallback(“setTestValue”, setTestValue);

}

public function setTestValue(str:String):void{

      _testValue= str;

}

private function callJavascript():void{

      var JSFunctionName:String=”changePageTitleName”;

ExternalInterface.call(JSFunctionName,””);

}

</mx:Script>

<mx:Button click=” callJavascript()”/>

<mx:Label text={_testValue}/>

</mx:Application>

注意事項(xiàng):

1.       html嵌入flex調(diào)用在javascript中調(diào)用flex方法的例子流程

上面舉的例子的功能是通過外面?zhèn)鱾€(gè)值來改變FLEX內(nèi)部一個(gè)變量的值

首先html頁面加載頁面元素,將object加載進(jìn)來,加裁object后通過onload方法自動(dòng)調(diào)用javascript方法testPageInit();

其次testPageInit()方法里我們要調(diào)用對(duì)象IDmyFlashMovieflex內(nèi)部方法,要獲取object的對(duì)象通過用document.getElementById(“myFlashMovie”)這個(gè)方法來獲得,但是考慮到跨瀏覽器的問題我們采用以下任意一種方式來獲取ID,

一是window.document[“myFlashMovie”] (在IE,FF,chrome,opera,safari等都適用)

二是window.document. myFlashMovie(這個(gè)未度過,應(yīng)該可以)

然后通過定義的“object變量.方法”的形式調(diào)用即可,通過傳遞的參數(shù)給FLEX內(nèi)部方法傳值。

再然后,flex內(nèi)部方法是如何獲得到外部javascript的調(diào)用呢?首先加載flex的時(shí)候會(huì)運(yùn)行flex 的主應(yīng)用程序,我們可以在主應(yīng)用程序加裁完之后提供一個(gè)自動(dòng)調(diào)用初始化方法,在這個(gè)方法里來回調(diào)javascript方法就可以了。具體參考上面的例子如ExternalInterface.addCallback(“setTestValue”, setTestValue);

最后通過調(diào)用setTestValue方法來改變FLEX當(dāng)前_testValue變量的值。

2.       html嵌入flex,FLEX來調(diào)用 javascript的例子流程

上面實(shí)現(xiàn)的功能是在flex中點(diǎn)擊一個(gè)按鈕就會(huì)使html的標(biāo)題名稱發(fā)生改變。

首先html頁面加載頁面元素,將object加載進(jìn)來,加裁object后通過onload方法自動(dòng)調(diào)用javascript方法testPageInit();

其次在testPageInit()方法里我們可以調(diào)用對(duì)象FLEX內(nèi)部方法(參考上面流程例子)也可以不調(diào)用,我們這個(gè)例子主要是在FLEX調(diào)用JAVASCRIPT,當(dāng)全部加載完了FLEX,在FLEX里我們可以加一個(gè)按鈕控件用于點(diǎn)擊測(cè)試,來觸發(fā)方法,此方法里具體寫如何調(diào)用JAVASCRIPT方法(參考上面代碼)。

并且在JAVASCRIPT中定義和changePageTitleName名字一樣的方法。

討論:

1.       我發(fā)現(xiàn)當(dāng)需要獲取object對(duì)象時(shí)用window.document[“myFlashMovie”];才能在跨瀏覽器時(shí)獲得到對(duì)象。

2.       當(dāng)要對(duì)object對(duì)象進(jìn)行顯示時(shí)用document.getElementById(“myFlashMovie”).style.display=””;才好使,當(dāng)要隱藏時(shí)用document.getElementById(“myFlashMovie”).style.display=”none”;才好使。用window.document[“myFlashMovie”] .style.display=””;window.document[“myFlashMovie”] .style.display=” none”;不好使。

3.       對(duì)于IE來講不需要embed部分也可以得到flex,但對(duì)于其他的瀏覽可能不兼容所以需要走embed部分,在這里需要指定idname且名稱一樣,而且flashvars參數(shù)要用。保持object 中的<param>的參數(shù)項(xiàng)和參數(shù)值和embed里的參數(shù)相同。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多