【发布时间】:2011-01-05 06:19:58
【问题描述】:
您好,我是 adobe flash/flex 的新手,所以如果我的问题不太清楚,请原谅我。我正在开发一个带有动态生成其内容的 flash 对象的网站,我希望 flash 对象本身可以嵌入到其他网站中,就像 youtube 一样。我不知道如何处理这个问题,任何帮助将不胜感激。
【问题讨论】:
标签: apache-flex flash embed
您好,我是 adobe flash/flex 的新手,所以如果我的问题不太清楚,请原谅我。我正在开发一个带有动态生成其内容的 flash 对象的网站,我希望 flash 对象本身可以嵌入到其他网站中,就像 youtube 一样。我不知道如何处理这个问题,任何帮助将不胜感激。
【问题讨论】:
标签: apache-flex flash embed
你需要两件事:
1) 在某处在线分发您的 swf 的 url 或嵌入代码(就像在 youtube 中所做的那样)。您可以通过发布您的 Flash 对象来获取代码,然后复制粘贴 html 嵌入标签。
2) 如果您将内容动态加载到 Flash 对象中,则需要允许从所有主机加载数据。假设您在www.domain.com 有一个源文件,flash 对象会加载该源文件。有人将 Flash 应用程序放在他们的网站www.otherdomain.com 上。然后此应用程序尝试执行跨域数据加载www.otherdomain.com <- www.domain.com。除非您明确允许www.domain.com 的跨域加载,否则这将失败。为此,您可以将 crossdomain.xml 文件添加到您的网站根目录,或者最好是保存源文件的文件夹。如果您放入 webroot,那么托管在那里的所有内容都可以从任何地方加载。 xml 文件应该包含允许从您的域加载任何内容的所有域(在这种情况下,它应该只包含一个 * 以允许从您的域加载任何域)。
这是一个允许任何域加载数据的基本示例
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
更多信息 (http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html)
【讨论】:
上面的答案比这个更好,但如果你是 Flash 和 Flex 的新手,你可能想看看 Adobe 的分发服务 - http://www.adobe.com/flashplatform/services/distribution/ - 我不确定它是否能满足你的所有需求,但是对于新手来说,这可能不是一个坏方法。
=Ryan ryan@adobe.com
【讨论】: