2010(Flex 初次使用 小節:No.2)

接這上一篇繼續...javascript

2 藉助第三方的對象文件html

swfobject.js 來向swf 傳參java

超連接的方式傳參express

<a href="VideoPlay.html?address=http://www.lxzq.com.cn/video/ty20100915_1.flv">Test</a>框架

 接收參數的頁面ide

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">函數

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> flex

<head>ui

        <title></title>url

       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

       <script type="text/javascript" src="swfobject.js"></script>

              <script type="text/javascript">

                     var flashvars = {};

                     //獲取URL參數對值,並賦給flashvars變量

if (swfobject.getQueryParamValue("address"))    //獲取超連接的url?後面的參數

 {

         flashvars.address= swfobject.getQueryParamValue("address");      //swf文件傳入參數     

}           

                        var params = {};  //必定是要這個params

                        params.allowFullScreen ="true";  //容許全屏否 根據本身的須要來設置參數

                     var attributes = {};

                     attributes.id = "swf";      //將嵌入的SWF文件寫入對應iddiv中去,並向SWF文件傳入相應的參數        

      swfobject.embedSWF("VideoPlay.swf", "swf", "1000", "500", "10.0.0", "expressInstall.swf", flashvars, params, attributes);

              </script>

</head>

//  swfobject.embedSWF裏面的swf對應的是<div>id 是將swf文件放在哪裏

       <body>

       <div id="swf">            

      </div>

       </body></html>

3 flex端與就javascript的通訊

須要使用到ExternalInterface 這個對象

 Flex端的代碼

   private function callJavaScript():void {

             show.text =  ExternalInterface.call("sayHelloWorld");

            }

// sayHelloWorld 這個就是javascript的裏面的方法名

固然ExternalInterface.call這個方法還能夠傳參

ExternalInterface.call("js的函數名",」參數)

那麼在html頁面這一塊的代碼

很簡單

Function sayHelloWorld()

{

作本身須要的處理

若是flex端要接受返回值的話

那麼js裏面就必定要

return 「xxxxx」;

}

貌似這個有個弊端

那就是 這種flexjavascript的互調只能在擁有flex框架載體的狀況下才能用

也就是flex工程裏面才能夠用

爲何這麼說 那是由於 我以前就是經過這種方式 swf文件去調用js的函數

脫離了flex的工程 行不通

網上 基本上都是說的在flex工程的bin-degug文件下系統自動生成的html裏面寫js

我試過 只要是flex項目裏面  flex javascript的相互調用是沒問題的

相關文章
相關標籤/搜索