在没有ExternalInterface的情况下将参数传递给swf

时间:2014-10-13 00:52:21

标签: flex flex3 flash

我在Flex 3中使用一个简单的音频播放器播放来自给定网址的给定mp3。

我的swf旨在嵌入Facebook墙。

<meta property="og:video" 
      content="http://url/of/my/Player.swf?file=url_of_my_file" />

播放器工作正常,因为我从网址获取参数:

http://url/of/my/Player.swf?file=url_of_my_file 
使用

var _queryStringFromUrl:String = 
              ExternalInterface.call("window.location.search.substring", 1);

我的问题是,当swf嵌入到Facebook墙中时,ExternalInterface被禁用,因此我无法获取我的网址变量。

  • 是否有替代方法可以在我的swf播放器中获取参数?

  • 您如何处理以下网址中的内容?

    <meta property="og:video" 
      content="http://www.youtube.com/v/dQw4w9WgXcQ?version=3&amp;autohide=1">
    

请注意,swf 未嵌入html页面


编辑:

似乎youtube会为每个视频编译一个新的swf,其中包含参数。有人可以证实吗?

谢谢

1 个答案:

答案 0 :(得分:1)

也许你可以尝试使用flashvars来解决这个问题?它初始化并传递给swf init。通过JS解析URL-params并将它们添加到flashvars。