我有一个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