我有一個Facebook的畫布iframe應用程序。在那裏,我有一個SWF對象,需要調用我的主要外表應用程序主體中定義的javascript函數。 這個電話沒有發出,我猜Facebook正在阻止它。從Flash內部的Javascript調用,在Facebook畫布應用內
必須有解決辦法嗎?
我做從Flash(AS2)測試呼叫這樣的:
getURL("javascript:alert(1);");
我需要嘗試和捕捉的Facebook iframe和使用在Flash?
我有一個Facebook的畫布iframe應用程序。在那裏,我有一個SWF對象,需要調用我的主要外表應用程序主體中定義的javascript函數。 這個電話沒有發出,我猜Facebook正在阻止它。從Flash內部的Javascript調用,在Facebook畫布應用內
必須有解決辦法嗎?
我做從Flash(AS2)測試呼叫這樣的:
getURL("javascript:alert(1);");
我需要嘗試和捕捉的Facebook iframe和使用在Flash?
我知道有一種解決方法。將閃存放入HTML文檔並設置document.domain = x
。在Canvas應用程序的主體中,也設置相同的document.domain = x
。然後使用iframe來顯示Flash的HTML文檔。
Flash然後可以進行JavaScript調用,並根據需要與您的畫布應用進行交互。
您是否嘗試過ExternalInterface類? http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/2/help.html?content=00001036.html
謝謝,但即使使用'ExternalInterface',調用也不會像'getURL' – MrCode 2012-02-29 19:25:31
你需要使用ExternalInterface類:
ExternalInterface Documentation
很容易爲ABC。例如這行代碼將執行
警報javascript函數。
ExternalInterface.call("javascript:alert();");
感謝,但即使使用'ExternalInterface',調用也不會像'getURL' – MrCode 2012-02-29 19:25:39
檢查您的JavaScript代碼。 是功能的名稱權嗎? – socksocket 2012-03-01 15:37:47
是的功能名稱是正確的,請參閱我的答案的解決方案。 – MrCode 2012-03-06 12:55:52
林不太確定「一定有辦法」。 Facebook和一般瀏覽器中的安全模型都是爲了防止它。 – 2012-02-29 19:07:55
@LarsBlåsjö我知道有一種解決方法,因爲Facebook應用中的數百個Flash遊戲正在實現它。 – MrCode 2012-02-29 19:36:13
我的意思是可能沒有辦法解決諸如Facebook設置allowcriptaccess =「從不」在Flash內容(不一定在您的iframe中)或不同來源的幀之間停止的JavaScript調用等機制。可能有一種方法可以完成你想要完成的任務,通常是這樣,但是如果出於安全原因停止JavaScript調用,則可能需要使用另一種方法。 – 2012-02-29 20:23:44