【问题标题】:call javascript from flash as3 which is hosted by a different domain从不同域托管的 flash as3 调用 javascript
【发布时间】:2012-01-19 05:06:22
【问题描述】:

在 sub.website.com 上运行了一个 javascript 函数,在 website.com 上托管了一个 Flash 组件。我使用对象和嵌入标签将 flash 对象添加到 sub.website.com,并且在某些时候我希望看到由 flash 对象触发的 javascript 函数的结果。 但我认为由于跨域的事情,它不允许我这样做。

我无法控制 a.website.com,因为它是对另一个网站的 cname 定义(我无法上传文件,但我可以添加额外的 javascript 函数)。

有什么解决办法吗?

【问题讨论】:

    标签: javascript actionscript-3 cross-domain externalinterface


    【解决方案1】:

    我认为您必须处理从 sub.website.com 到 a.website.com 的 Ajax 调用。 这个 ajax 调用可以包装在 sub.website.com 上的 javascript 中,可以由 ExternalInterface 在 SWF 中调用。

    因此,“sub”服务器上的 SWF 在“sub”服务器上调用了一个 Javascript 函数,该函数会触发对服务器“a”的 Ajax 调用,并且该服务器将一些数据(例如 JSON)返回给服务器“sub”的 Javascript .所以服务器 'sub' 的 Javascript 可以通过 ExternalInterface 将数据返回给 SWF。

    有关外部接口的文档,请参见 adobe 网站:

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

    【讨论】:

    • 解决方案很好,但不适合我的问题。无论如何,我发现了问题,又是我的错,我认为由于缺少 allowScriptAccess="always" 属性,我无法从 as3 调用 js。顺便说一句,谢谢你的文件,它帮助了很多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多