我在让我的跨域策略生效时遇到了一些困难。我有一个http://www.server.com/
加载 XML 和其他文件的 swf。我希望能够将该 swf 嵌入到不在同一个域中的其他 HTML 页面(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
我需要通过加载crossdomain.xmlSecurity.loadPolicyFile('http://www.server.com/crossdmoain.xml')
吗??