debug可以是因为,debug状态下Flex自动帮助你将debug的程序路径添加到受信任路径。至于release则没有,因此调用ExternalInterface的
方法就会提示安全性错误。解决办法有两种,一种在我的Blog中可以找到,另外一种比较简单:右键你的Flash控件--d出菜单中选择“全局设置”--高级--受信任位置设置--加入你release的目录即可。关于Flex安全沙箱中的问题最近遇到了Flex安全沙箱中的问题,找到了很多资料,我发现,并非所有有关我的程序的程序需要一个socket连接,而且大多数是谈论跨域
文件读取的。我把这些方法都归纳起来有:跨域文件读取方法:在目标服务器上部署crossdomain.xml文件(我用这个方法是非常有效的,并把没有问题),需要远程根目录服务定义crossdomain.xml文件作为如下: "*" /跨域策略>方法二:使用代理,在Flex希望通过ASP,PHP,JSP等脚本到本地阅读,然后由Flex
访问远程文件访问方法三:使用Adobeflashplayer9打开程序,点击菜单栏上的文件 - >创建一个播放器...生成exe文件,运行exe文件来突破安全限制方法四:一,找到这个文件夹:C:\ DocumentsandSettings \ \ ApplicationData \的Macromedia \ Flash播放器\#安全性,其下创建一个文件名为“FlashPlayerTrust的”文件夹3,在“FlashPlayerTrust的”创建一个TXT文件的文件夹,如下:C:\ D:\ E:\ F:\ 4的txt文件名为:的“myTrustFiles.cfg”您的硬盘驱动器和然后打开SWF文件时,它并不会出现那个恼人的提示的安全设置!方法五:默认是使用HTTP服务代理,你需要配置FLEX-config.xml中,也有一些: ............. ..... 这是白名单,正常情况下被注释掉,这是默认只有本地的http:// {localserver} / *和https:// {localserver} / *可以被访问。其他需要的Flex-config.xml文件中需要它。跨域访问当地的自然不会,但你肯定访问局域网的其他机器,所以根据白名单规则,在Flex插座沙箱的安全沙箱中使用Socket通信的跨境问题,它也将是一个FLASH9新的安全政策问题。解决方案并不像一个Web服务器的crossdomain.xml布局来解决,或者致力于提供安全策略服务器在开放843端口。一种方法是在接收器连接到客户端,发送安全策略示例中,我使用JAVA开发,一个Flex客户端将首先搜索相同的域和服务器843,如果你能得到的安全策略,是第一次建立了良好的插座,就可以收到插座,即事件发生时立即发送策略串,否则客户端将关闭然而,由于安全策略,断开连接,如果成功的收购战略,客户端将切断较早接受插座,然后实际处理您的请求Socket连接请求。哎!最近比较忙!
如果你想用纯Flex做的话,只能让你访问的网络资源站点把你的域加入到信任列表里(这可能性不大)。
baidu和QQ的播放器是有自己的后台的,在后台用网络资源抓取,在返回给前台的播放器,你可以这么干。
apache有个httpclient组件或许能帮你的忙!
评论列表(0条)