2009-06-01 25 views
1

我試圖從HTML-land傳遞參數到Flex-3 Flash-land,並且似乎無法使其工作。下面是我有(基本上是默認模板,Flash變量修改):使用FlashVars與Flex 3

<noscript> 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
     id="${application}" width="${width}" height="${height}" 
     codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> 
     <param name="movie" value="${swf}.swf" /> 
     <param name="quality" value="high" /> 
     <param name="bgcolor" value="${bgcolor}" /> 
     <param name="allowScriptAccess" value="sameDomain" /> 

    <param name="flashVars" value="userID=foo&assignmentID=1"/> 


     <embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}" 
      width="${width}" height="${height}" name="${application}" align="middle" 
      play="true" 
      loop="false" 
      quality="high" 
      allowScriptAccess="sameDomain" 
      type="application/x-shockwave-flash" 
      pluginspage="http://www.adobe.com/go/getflashplayer" 
      flashVars="userID=foo&assignmentID=1"> 
     </embed> 
</object> 
</noscript> 

而這裏的動作腳本(應用程序的creationComplete事件被觸發之後調用):

function initApp() : void 
{ 
    // default params 
    userID = Application.application.parameters.userID; 
    assignmentID = Application.application.parameters.assignmentID; 
    if (userID == null || assignmentID == null) 
    { 
     Alert.show("I didn't get any params!", "Error"); 
    } 
} 

任何人都知道這是怎麼回事錯誤?我已經嘗試了幾個排列組合,但沒有運氣。 (Firefox 3,OS-X,Flash Player 9 FWIW)

謝謝!

回答

3

我想你也想在.swf之後設置查詢參數。嘗試

<embed src="${swf}.swf?userID=foo" quality="high" bgcolor="${bgcolor}" 
+0

是的,就是這樣..我修改了很少使用的「沒有JavaScript」版本。 http://elromdesign.com/blog/2009/02/17/passing-flashvars-using-flex-template-html/ – sehugg 2009-06-02 02:00:35