本地运行swf访问网络的安全问题解决办法

来源:互联网 发布:知轩的含义 编辑:程序博客网 时间:2024/05/21 11:26

FLASH在没有发布成网络形式或是不在网页中(直接在本地电脑运行)运行时会碰到这种情况,编译器提示安全沙箱冲突或是需要和网络通信,然后就不 干活儿了,在IDE测试明明是好的, 发布成SWF文件后,再执行却弹出个某某需要和远程通讯的提示框。如下,这往往令初学者朋友一头雾水。 1、找到这个文件夹:c:/Documents and Settings//Application Data/Macromedia/Flash Player/#Security 2、在其下建立一个名为”FlashPlayerTrust”的文件夹 3、在”FlashPlayerTrust”文件夹下新建一TXT文件,内容如下: c:/ d:/ e:/ f:/ 4、将该txt文件命名为:”myTrustFiles.cfg” (我的经验是不一定要给它命令,只要是txt的就可以了) 再打开你硬盘里的SWF文件,就不会出现那个烦人的安全设置提示窗口了! 解决BitmapData.draw()在fms流的跨域问题 因为flash的跨域问题, 会导致BitmapData.draw() 方法在对有跨域加载的视频流, 图片等资源时抛出SecurityError异常导致无法正常抓图 解决方式在帮助文档也有说, 总结一下: 1.图片跨域 在被加载图片域放置crossdomain.xml load(new URLRequest(path), new LoaderContext(true));

2.点播流(http视频流) 在被加载视频域放置crossdomain.xml 设置netStream.checkPolicyFile = true;

3.实时流跨域 这个要在FlashPlayer 9.0.115.0才有效 方法来源于: http://www.ekameleon.net/blog/index.php?2008/02/20/93–fmis3-bitmapdatadraw-and-flash-player-901150-security-sandbox-violation 我只做了fms3下的测试通过. 简单点说就是在fms应用的main.asc 中加上 application.onConnect = function( client ) { // fix Security sandbox violation : BitmapData.draw on RTMP source client.videoSampleAccess = “/”;

this.acceptConnection(client) ; }

       From:http://xinsync.xju.edu.cn/index.php/archives/1946 冰山上的BLOG