2010-11-09 54 views
2

我有两个闪存电影fl_basefl_topfl_base包含ActionScript,它从服务器拉取字符串变量并解析出来以确定网站的导航菜单(标题,副标题和每个导航项目应指向的链接,如下图所示)。跨域闪存变量帮助

Menu 1 
--Sub Menu 1.1 
--Sub Menu 1.2 
Menu 2 
-- Sub Menu 2.1 
-- Sub Menu 2.2 

fl_base determines the order of the menus and submenus as well as the links

fl_top包含导航的图形资源(按钮,背景等),并绘制的实际UI。

我遇到了一个问题,如果上述字符串变量是从不同的域中拉出的,则链接(getURL)将不起作用。所以,如果fl_basefl_top驻留在example.com和变量从test.example.com,然后fl_top拉升,在显示界面(菜单,按钮,颜色)将不允许用户点击链接。我应该注意到getURL位于fl_top电影中。

我们有一个crossdomain.xml,允许在Flash电影之间进行跨域访问。

谁能开导我这是为什么不工作,如果有一个解决方案,短路重复写入Flash电影(已决定是上级领导一个不走)

UPDATE

我还要提到的是,我使用SWFObject 2.2加载fl_basefl_topfl_base

回答

2

通过loadMovie称为嵌入到时,您需要设置allowScriptAccess让从另一个域SWF做getURL(),these are the actionscript 3 docs,但我认为这也适用于动作2。

+0

我试过没有任何运气。我应该注意到它使用SWFObject来渲染电影(尽管我不认为这很重要)。并且该fl_base通过loadMovie函数调用fl_top。 – RHPT 2010-11-10 01:48:07

+0

我的不好。我正在使用allowScriptAccess = true而不是allowScriptAccess = always。问题解决了!只花了我6个月的时间:P不知道为什么我没有更早发布。 – RHPT 2010-11-10 16:05:54