无法提取SWF中的FlashVar

无法提取SWF中的FlashVar,flash,actionscript-3,flash-cs5,Flash,Actionscript 3,Flash Cs5,我有一个SWF,它在网站上收集用户的反馈。所问的问题以XML的形式拉入,使用嵌入页面中的flashvars提供的URL。不幸的是,这似乎已经在我的SWF的最新版本中被打破 以下是我如何嵌入对象: <script src="swfobject.js"></script> <script type="text/javascript"> swfobject.embedSWF("http://localhost/mysite/q.swf", "

我有一个SWF,它在网站上收集用户的反馈。所问的问题以XML的形式拉入,使用嵌入页面中的flashvars提供的URL。不幸的是,这似乎已经在我的SWF的最新版本中被打破

以下是我如何嵌入对象:

<script src="swfobject.js"></script>
    <script type="text/javascript">
        swfobject.embedSWF("http://localhost/mysite/q.swf", "flashcontent", "900", "360", "9.0.0", "http://localhost/mysite/expressInstall.swf", { loadurl: escape("http://localhost/mysite/q.php?q=13") }, {}, {});
    </script>
  </head>
  <body>
    <div id="flashcontent">

    </div>
  </body>
在浏览器中使用ExternalInterface.call调用console.log会输出空值,但在以前的版本中,此代码保持不变,它可以正常工作并像我预期的那样输出URL。我可以在它们之间切换,看到它在较早的版本上工作,然后更新到较新的版本,它再次输出null

这个新版本的资产中唯一的变化是,我添加了一个符号和一些代码,在加载XML后将其添加到stage中,但这丝毫没有改变从页面HTML获取URL的代码

我正在使用FlashCS5,它是一个ActionScript3.0项目

有人能告诉我哪里出了问题吗?我花了很长时间来为这件事发愁,所以任何帮助都将不胜感激。我确实在某个地方读到过,这可以通过ExternalInterface来实现——它是否更适合这样的场景?如果出于某种原因我不能让它正常工作,这是一个可行的选择吗


谢谢

如果您使用ExternalInterface.call调用console.log,并且它工作了,但现在返回null,那么console.log的位置可能已经移动了?

这里的解决方法是最终使用ExternalInterface.call。不幸的是,我无法理解为什么FlashVar没有正确地传递到SWF,尽管它在HTML、SWFObject等方面做了很多工作。

有一个SWFObject版本破坏了某些浏览器中的FlashVar,所以一定要更新到最新版本。。。除此之外,我没有看到任何奇怪的东西。@Cay-我做了双重检查,并在今晚升级到最新版本,谢谢您的输入。为了让它为我的客户机工作,我刚刚使用ExternalInterface调用了一个返回URL的JS函数。有点像黑客,但可以。可能是范围问题?是否尝试使用此loadurl=unescapethis.loaderInfo.parameters.loadurl;我没有,但它出现在autocomplete中,所以我假设它在范围内-并且我没有收到任何关于loaderinfo或loaderinfo.parameters为null或未定义或任何错误。我过会儿再查看看!不,我有一种感觉,它要么会导致ActionScript代码中抛出异常,要么会引起注意。严格地说,我是在调用ExternalInterface.callconsole.log,URL:+loadurl;这显示了URL:null。谢谢你的建议。
this.loaderInfo.addEventListener(Event.COMPLETE, function(e:Event) {
                                    init();
                                 });
function init()
{
    *snip*
    loadurl = unescape((loaderInfo.parameters.loadurl));
}