Flex 跨域访问解决方案
想让swf 文件在一台服务器上运行并且能够访问另一台服务器上的资源,这时就会遇到跨域问题,请看下面的解决方案。
写一个名字为 crossdomain.xml 的XML文件,这个方法是允许任何Flash都可以调用,放到被调用文件的网站根目录下:
view plaincopy to clipboardprint?
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd
">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd
">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
只让你允许的网站来调用你的数据.
view plaincopy to clipboardprint?
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd
">
<cross-domain-policy>
<allow-access-from domain="www.yoursite.com
" />
<allow-access-from domain="yoursite.com" />
<allow-access-from domain="*.k-zone.cn" />
</cross-domain-policy>
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd
">
<cross-domain-policy>
<allow-access-from domain="www.yoursite.com
" />
<allow-access-from domain="yoursite.com" />
<allow-access-from domain="*.k-zone.cn" />
</cross-domain-policy>
如果使用XMLSocket要把端口号加上
view plaincopy to clipboardprint?
<cross-domain-policy>
<allow-access-from domain="*.foo.com" to-ports="507,516" />
<allow-access-from domain="*.bar.com" to-ports="516-523" />
<allow-access-from domain="www.foo.com
" to-ports="507,516-523" />
<allow-access-from domain="202.117.80.202" to-ports="*" />
</cross-domain-policy>
<cross-domain-policy>
<allow-access-from domain="*.foo.com" to-ports="507,516" />
<allow-access-from domain="*.bar.com" to-ports="516-523" />
<allow-access-from domain="www.foo.com
" to-ports="507,516-523" />
<allow-access-from domain="202.117.80.202" to-ports="*" />
</cross-domain-policy>
如果安全策略文件放在根目录,文件名字必须为crossdomain.xml,如果不放在根目录,
要用flash.system.security.loadPolicyFile("http://xcopy.net.cn/crossdomain.xml
")
这样的方法加载安全策略文件。
http://localhost:8080/crossdomain.xml
如果以上还不能成功访问,请再住下看:
请注意代码中的:<param name="allowScriptAccess" value="always"/>
view plaincopy to clipboardprint?
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width=512px height=384px
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab
">
<param name="movie" value="http://www.xcopy.net.cn/test.swf
" />
<param name="quality" value="high" />
<param name="allowScriptAccess" value="always"/>
<embed src="http://www.xcopy.net.cn/test.swf
" quality="high" bgcolor="#869ca7"
width=512px height=384px name="/test" align="middle"
type="application/x-shockwave-flash"
allowScriptAccess="always"
pluginspage="http://www.adobe.com/go/getflashplayer
">
</embed>
</object>
注意:crossdomain.xml的存放位置,视你的应用服务器类型
1、tomcat: server根目录/webapps/root.war/crossdomain.xml(测试通过)
2、spring dm server 或者 eclipse virgo web server: server根目录/pickup/splash.war/crossdomain.xml(测试通过)
其他应用服务器也是放在该服务的管理应用根目录下
分享到:
相关推荐
flex 跨域访问文件,安全沙相问题,很有用的,放在iis里就行了
flex 跨域访问问题, flex不在同一个域,解决办法
Flex跨域问题,对于Flash Player 而言,crossdomain.xml文件内容出现了较大的变化,原因是Flash Player 9的security机制有所改变。所以当我用Flex 3调用cross domain的web service时,还使用上面的crossdomain.xml...
flex跨域上传,需nginx,tomcat host: 127.0.0.1 test1.zwh.com 127.0.0.1 test2.zwh.com nginx: client_max_body_size 2048m; server { listen 80; server_name test2.zwh.com; location / { proxy_set_...
提供flex跨域解决的办法 直接在根目录发布这个包就行了
eclipse环境下集成flex之后调用webservice的相关资源
使用 ADOBE FLEX 45访问数据 目录 第 1 章: 访问数据服务概述 Flex 与其它数据访问技术的比较 使用 Flash Builder 访问数据服务 数据访问组件 第 2 章: 使用 Flash Builder 构建以数据为中心的应用程序 创建 Flex...
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
Flex问题解决大全, 可学到不少技巧, 仅限科学研究用.
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
解决flex 4.6内存不足myeclipse中无法加载设计模式 1 解决flexbuilder4无法加载设计模式内存不足的方法为先新建一java工程,再新建flex项目 2(1). 调整FlashBuilder eclipse.ini 编辑 {FlashBuilder 安装路径}/...
Flex简介Flex简介Flex简介Flex简介Flex简介
flex事件flex事件flex事件flex事件flex事件
flex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊
flex布局 justify-content 解决最后一排数量不够自动向两端排列问题,简单,高效,好用。
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
在FLEX 里,解决FLEX 占用内存一直不减,无法清除的问题
Flex万年历记事本_flex源码
java flexjava flexjava flex