2009-12-04 143 views
1

我根本不用玩網絡遊戲,但最近有人給了我一個網站模板,我想開始玩它。如果我的條款被誤導,我很抱歉。Flash製作AJAX請求?

該網站的主要部分是一個小小的Flash事物,它具有按鈕作爲鏈接到網站的不同區域。所有這一切都很好,但是每當我點擊這些鏈接時,只有底部部分發生變化時,它必須重新加載整個頁面(包括Flash應用程序)。這不是真的巨大的問題,因爲一切都很小,但它有點煩人。

我依稀記得「固定」在我的網絡編程類這種行爲使用AJAX,但那只是直接的HTML和Javascript,沒有Flash播放器渣土周圍。

我的問題是,當有人點擊Flash對象中的鏈接時,我該如何克服重新加載整個頁面的問題?有什麼好的方法可以調用getURL()以外的其他方法來實現這種效果嗎?我寧願不用嘗試在沒有Flash的情況下重新創建該網站的體驗(但是如果我有一些圖形功能,我會!)。

感謝您的任何建議!

回答

2

Flash有一個稱爲ExternalInterface的好東西。它允許你直接從你的flash電影中調用父HTML頁面上的JS方法。

格式是值得的效果:

ExternalInterface.call("myJSFunctionName", params:Object); 

或者其他類似的效果,仔細檢查,以得到確切的格式。這應該讓你直接用JS處理你的導航,而不必每次刷新你的頁面。

+1

太棒了!我會檢查一下,看起來很完美!謝謝! – mrduclaw 2009-12-04 04:53:36

1

嗯......你能改變Flash對象嗎?會建議將鏈接上的URL更改爲可以加載URL的普通JavaScript ...

+0

這聽起來對我來說太棒了。你能否給我多一點繼續?我會如何去做這件事? – mrduclaw 2009-12-04 03:46:17

+0

這意味着你需要用flash文件(.fla文件)來創建flash對象......如果你有這個,那麼你可以在flash文件上找到鏈接並將它們從url改爲javascript調用URL ...希望我的意思是... – AceMark 2009-12-04 08:34:20

+0

@trace我發現了對'getURL()'的調用,但我不能很好地用getURL替換'getURL(「index2.html」);'' (「someJavaScriptMethod」);'我可以嗎? – mrduclaw 2009-12-06 21:44:43