想让swf 文件在一台服务器上运行并且能够访问另一台服务器上的资源,这时就会遇到跨域问题,请看下面的解决方案。
写一个名字为 crossdomain.xml 的XML文件,这个方法是允许任何Flash都可以调用,放到被调用文件的网站根目录下:
<?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="www.yoursite.com" />
<allow-access-from domain="yoursite.com" />
<allow-access-from domain="*.k-zone.cn" />
</cross-domain-policy>
如果使用XMLSocket要把端口号加上
<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"/>
<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>
如果用的是SWFObject的话,则:
var so = new SWFObject(url+"/index.swf",
"index", "100%", "100%", "10","#FF6600");
//添加这一句
so.addParam("allowScriptAccess","always");
so.write("flashcontent");
注意:crossdomain.xml是放在服务器那边,而不是客户端这边.如访问的数据来源为:192.168.0.2 监听端口:8080
访问端口:192.168.0.1 监听端口:8080 只用把crossdomain.xml放在192.168.0.2上就行,使得
http://192.168.0.2/crossdomain.xml可以访问到
上面这些操作肯定能解决远程调用SWF的跨域问题。
如果SWF里面提供了一些接口,在外面想到调用的话,在swf初始化时添加:flash.system.Security.allowDomain("*");
即可被访问。
分享到:
相关推荐
CORS是一种现代的跨域访问解决方案,服务器可以通过设置特定的HTTP响应头`Access-Control-Allow-Origin`来允许特定的源进行跨域访问。在Flex中,你可以通过HTTPService或WebService组件配置`crossDomainPolicy`来...
### Tomcat跨域解决方案 #### 一、背景与问题描述 在现代Web开发中,由于浏览器的安全策略限制,不同源之间的资源访问会受到限制,这种现象被称为“同源策略”(Same-Origin Policy)。同源策略是为了保护用户数据...
Flex跨域问题的解决方案主要涉及两个步骤: 1. **创建跨域策略文件**: 创建一个XML文件,例如`crossdomain.xml`,并将其放置在WebLogic服务器的根目录下。这个文件定义了哪些来源(domains)的请求被允许访问...
“flex编译问题,访问不了jsp解决方案.txt”这个文件可能包含了具体的错误信息和解决步骤,打开这个文件,按照其中的指导进行操作,通常可以解决大部分问题。记住,理解和掌握问题的根本原因才是关键,这样才能避免...
### Java与Flex交互中的常见问题及其解决方案 在Java与Flex技术进行交互的过程中,经常会遇到一些典型的问题,这些问题可能涉及到安全性、数据传输格式以及字符编码等方面。本文将详细探讨以下几个方面: 1. **...
跨域访问是Flex与Java通信时必须考虑的安全问题。Flex客户端需要获取服务器的cross-domain.xml文件,以允许跨域请求。服务器端需要设置相应的策略,确保只允许合法的Flex应用程序进行通信。 7. **Data Transfer ...
然而,原生的Flex SDK并不直接支持PDF导出,因此开发者需要寻找第三方库或自定义解决方案来实现这一功能。 在描述中提到的“安全沙箱问题”是Flash Player的安全限制之一。Flash Player的安全模型分为多个沙箱,以...
9. **访问控制和安全性**:如果涉及到网络通信,API还会涵盖安全策略文件和跨域访问控制,以确保应用的数据安全。 10. **调试和性能优化**:Flex提供了一些工具和技术来帮助开发者调试代码和优化应用性能,API文档...
综上所述,S2Flex2-1.1.0是Seasar2框架与Flex集成的理想选择,它为开发者提供了一种高效、灵活的解决方案,促进了富客户端与服务器端的强大协作。通过深入理解和熟练掌握S2Flex2,开发者可以构建出功能强大且用户...
Flash Player通过检查目标域下的安全策略文件来判断是否允许跨域访问。这些安全策略文件通常位于目标域的根目录下,名称为`crossdomain.xml`。 #### 三、Flash中的通信方式 在Flex中,主要通过两种方式实现通信: ...
在IT行业中,`flex-iframe`是一个用于在Adobe Flex应用程序中嵌入HTML内容的解决方案。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用(RIA)。`iframe`,即内联框架,是HTML中用于在单个...
需要注意的是,为了跨域安全,可能需要配置服务器端的CORS策略,允许Flex的请求访问。 在实际开发中,我们还需要考虑性能和数据量的问题。如果数据量非常大,一次性发送所有数据可能会导致网络延迟或服务器压力过大...
3.2.5 域及跨域访问 99 3.3 Flex Module 101 3.3.1 创建模块 102 3.3.2 模块的编辑与编译 104 3.3.3 模块文件的加载 104 3.3.4 主应用和模块的交互 107 3.4 Flex库文件SWC 107 3.5 Flex编译模式、链接模式与...
四、常见问题与解决方案 1. **跨域问题**:由于Flash Player的安全限制,Flex客户端可能无法直接访问不同域的服务器。解决办法是配置服务器端的crossdomain.xml文件,允许特定域的访问。 2. **性能优化**:如果...
本文主要针对Flex RPC错误进行了整理,特别是涉及到Flash Remoting、HTTP Service和Web Service的常见错误及其解决方案。 **一、Flex Remoting** 1. **Channel definition, mx.messaging.channels.RTMPChannel, ...
两者的结合能够提供从前端到后端的完整解决方案。 2. **增强开发效率**:通过将Spring与Flex集成,开发者可以利用Spring的强大功能来简化服务器端的开发工作,同时利用Flex的丰富组件库快速构建出美观且功能强大的...
Struts Flex结合使用是一种在Java Web开发中创建富互联网应用程序(RIA)的解决方案。Struts是Apache软件基金会下的一个开源MVC框架,主要用于构建企业级的Web应用,而Flex是Adobe开发的一种基于ActionScript的RIA...
JavaFlex通信是一个重要的技术主题,尤其对于...实际的项目可能包含更具体的特性或定制解决方案,具体细节需要查看项目源码才能深入了解。对于希望学习或使用JavaFlex通信的开发者来说,理解上述知识点是至关重要的。
ShareObject是Flex提供的一种轻量级的数据存储解决方案,它类似于Web浏览器中的Cookie,但具有更大的存储容量和更高的访问速度。ShareObject可以在用户的本地缓存中存储数据,即使应用程序关闭,这些数据也能被保留...