我在使用跨域策略时遇到了一些困难。我在http://www.server.com/上有一个可以加载XML和其他文件的swf。我希望能够嵌入到其他超文本标记语言页面(YouTube样式),不在同一领域。当通过它的本地服务器http://www.server.com/my.swf或http://www.server.com/swf.html访问时,它工作得很好,但是当我尝试嵌入它时,它不会加载XML和/或给我一个Security sandbox violation
已发布的SWF设置为Security.REMOTE
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="*" to-ports="*"/>
</cross-domain-policy>希望你能帮上忙
更新1
嵌入代码的示例如下:
<!-- Embedding -->
<object width='400' height='300'>
<param name='movie' value='http://www.server.com/my.swf'></param>
<param name='allowFullScreen' value='true'></param>
<param name='allowscriptaccess' value='always'></param>
<param name='FlashVars' value="stream=1281002679" ></param>
<embed src='http://www.server.com/my.swf' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='400' height='300'></embed>
</object>..。可以添加到任何域上的任何网页
更新2
policyfiles.txt (192.168.100.55是我的本地测试服务器,包含嵌入式示例):
OK: Root-level SWF loaded: http://www.server.com/my.swf
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at http://192.168.100.55/data/configuration.xml?refresh=0.2777715688571334 by requestor from http://www.server.com/my.swf
Warning: Failed to load policy file from http://192.168.100.55/crossdomain.xml
Error: Request for resource at http://192.168.100.55/data/configuration.xml?refresh=0.2777715688571334 by requestor from http://www.server.com/my.swf is denied due to lack of policy file permissions.flashlog.txt提取Warning: Failed to load policy file from http://192.168.100.55/crossdomain.xml
是否需要通过Security.loadPolicyFile('http://www.server.com/crossdmoain.xml')加载crossdomain.xml??
发布于 2010-08-12 01:22:53
错误:由于缺少策略文件权限,请求者从http://www.server.com/my.swf请求http://192.168.100.55/data/configuration.xml?refresh=0.2777715688571334上的资源被拒绝。
看起来您的swf尝试从本地服务器而不是www.server.com加载配置文件
您应该使用绝对路径
https://stackoverflow.com/questions/3459862
复制相似问题