我试图从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)
谢谢!
是的,就是这样..我修改了很少使用的“没有JavaScript”版本。 http://elromdesign.com/blog/2009/02/17/passing-flashvars-using-flex-template-html/ – sehugg 2009-06-02 02:00:35