我正在运行一个rails3项目,其中包含所有javascript、图像、swfs等的外部资产主机。这是在一个完全不同的域上。所以知道我尝试使用 swfobject 嵌入一些 SWF。在开发中(同一主机)一切正常,但在生产中(不同主机)它不会启动闪存(firebug 显示文件已加载,但页面上没有显示任何内容)。我已经将此 crossdomain.xml 文件放入资产主机的根目录中,但它根本没有改变任何内容。
http://my.host/crossdomain.xml http://my.host/crossdomain.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://my.host/swfs/sound1.swf http://my.host/swfs/sound1.swfhttp://my.host/swfs/video1.swf
...
我该怎么做才能让它发挥作用?我使用的 SWF 不是由我开发的,因此我无法更改它们。有些是简单的声音,有些是视频和小型“应用程序”。我不想让 Rails 为 swf 服务。
<allow-access-from domain="*"/>
在最新的 Flash 版本中不起作用,您必须指定确切的域和端口,例如:
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="my.host" to-ports="80,8080"/>
</cross-domain-policy>
当然,您应该将 crossdomain.xml 放入 Rails 应用程序公共目录的根目录中,而不是放在资产主机上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)