2010-02-03 68 views
0

我有一個按鈕的Flash電影'在新的瀏覽器窗口中查看項目。'如何從Flash動態創建html頁面?

這些項目都是在Flash中動態生成的。 所以html也必須動態生成。

任何可以採取一種方式來做到這一點? 我需要使用php還是一些服務器端腳本?

回答

0

如果您的意思是「在新的瀏覽器窗口中」。 ,那麼所有你需要做的是一樣的東西

navigateToURL(new URLRequest("http://www.yoursite.com/somePage.php?content=hi_there"), "_blank"); 

其中http://www.yoursite.com/somePage.php包含使用PHP /服務器端腳本從查詢字符串動態生成的內容(說...從上面的例子中檢索內容「您好」)

,如果你的意思是「Flash內部生成的HTML內容」,那麼你可以使用FlashML http://osflash.org/flashml(似乎是ActionScript 2的壽),如果你的意思是

「HTML像Flash內容」,那麼你就可以編寫腳本在閃光燈內形成自己的內容,就像動態地將動畫片放在一起,使它像一個html頁面

0

從閃存中生成所有這些可能是一種糟糕的做法。我認爲最常見的解決方案是僅將生成的數據傳遞給服務器腳本或js方法,以複製項目在Flash中顯示的方式,但是以HTML方式顯示。

+0

小心將內容傳遞到服務器並讓服務器執行它!這可以很容易地被邪惡的人使用(代碼注入)。 – 2010-02-03 03:34:41

+0

當然,這就是爲什麼我只能通過純數據,所以遠程方法可以緩和它。從閃存內部生成整個內容只是一個很大的安全漏洞,因爲遙控器將被迫盲目發佈。好點但要強調! – 2010-02-03 03:47:13

0

使用Javascript和Flash的混合。因此,Flash會觸發Javascript的功能來執行DOM/HTML操作。

在flash中您將調用外部庫將一些參數必需傳遞給JS。

它是這樣在AS3:

import flash.external.*; 
... 
ExternalInterface.call("JavascriptFunctionName", escape(param1), escape(param2)); 

在JavaScript:

JavascriptFunctionName = function(_param1, _param2){ 
CreateHTMLElement(unescape(_param1)); 
CreateMenuItem(unescape(_param2)); 
} 

如果你正在傳遞大量的數據,我建議使用一個PHP代理/ web服務。