Flashvars无法加载

Flashvars无法加载,flash,actionscript-3,actionscript,flashvars,Flash,Actionscript 3,Actionscript,Flashvars,我在将FlashVar加载到我的flash应用程序时遇到了一个奇怪的问题。我尝试隔离代码并在其他文档中尝试,但返回的对象仍然为空 这是我的HTML代码: <div id="Div1"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="630" height="671" id="testApp" align="middle"> <param name="movie" val

我在将FlashVar加载到我的flash应用程序时遇到了一个奇怪的问题。我尝试隔离代码并在其他文档中尝试,但返回的对象仍然为空

这是我的HTML代码:

<div id="Div1">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="630" height="671" id="testApp" align="middle">
    <param name="movie" value="{$this->siteUrl}/flash/testVars.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <param name="play" value="true" />
    <param name="loop" value="true" />
    <param name="wmode" value="window" />
    <param name="scale" value="showall" />
    <param name="menu" value="true" />
    <param name="FlashVars" value="one=1&two=2" />
    <param name="devicefont" value="false" />
    <param name="salign" value="" />
    <param name="allowScriptAccess" value="always" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="{$this->siteUrl}/flash/testVars.swf" width="630" height="671">
        <param name="movie" value="{$this->siteUrl}/flash/testVars.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#ffffff" />
        <param name="play" value="true" />
        <param name="loop" value="true" />
        <param name="FlashVars" value="one=1&two=2" />
        <param name="wmode" value="window" />
        <param name="scale" value="showall" />
        <param name="menu" value="true" />
        <param name="devicefont" value="false" />
        <param name="salign" value="" />
        <param name="allowScriptAccess" value="always" />
    <!--<![endif]-->
        <a href="http://www.adobe.com/go/getflash">
            <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
        </a>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
</object>
它在Chrome的控制台窗口中显示良好的开始,但不打印flashvars。你能告诉我我做错了什么吗

谢谢

好的,这是Flash中TLF文本组件的一个“bug”。 在文档中包含TLF文本元素还包括文本布局框架运行时共享库TLF RSL。RSL会在你的主要电影之前预装一个预加载程序

这意味着您的swf不再是加载的第一部电影,因此它使FlashVar无法执行

阿德里安·帕尔(Adrian Parr)有一篇关于这方面的博文:
您是否尝试在调试模式下运行此程序。声明

this[i] = obj[i];

这是个例外。除非类是动态的,否则不能在Actionscript中执行此操作。评论了这一行,它成功了

一个解决方法是嵌入整个TLF运行时,而不是从外部加载它。有关执行此操作的步骤,请参见:

要在已发布的SWF文件中编译TLF ActionScript资产,请执行以下操作:

选择文件>发布设置

单击Flash选项卡

单击脚本菜单旁边的设置按钮

单击“库路径”选项卡

从默认链接菜单中选择“合并为代码”


很明显,这会显著增加swf文件的大小。

请尝试使用This.root.loaderInfo.parameters,直到出现未定义的情况。很遗憾……啊,忘了说。在firefox、chrome和IE上进行了测试。都说没有定义。我确信这就是代码,除了这个和body、head、html标记之外,html文档中没有其他内容。我知道对EI的第二次调用是有效的,因为控制台窗口中的浏览器显示未定义。
this[i] = obj[i];