2010-11-09 40 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