????? ?最近碰到一个棘手的问题,就是设计As与Js通信的Flex项目编译后,将bin-debug目录放在其他路径下,其中的As与Js 通信就会出现问题。而且连SDK中的sdks\3.2.0\frameworks\javascript\fabridge\samples下的例子也会运行不正常。
?????? try catch之后获取异常为#2060安全沙箱冲突的问题。但是如何解决这个问题呢。
?
?????? google了一下,找到了这篇不错的blog,里面讲的很详细,既不赘述其原理了,例如:
???????????? http://apps.hi.baidu.com/share/detail/16158883
?
???????主要原因就是Flex安全沙箱的问题,通过上面的博客解决的办法有了。
?
????????? 1.找到本地计算机Flash Player的安装路径,我的是win7路径是:
???????????????? (C:\Windows\SysWOW64\Macromed\Flash\FlashPlayerTrust),
?????????????????(注:其中的FlashPlayerTrust文件夹如果没有需要自己创建,xp的路径应该是:C:\Windows\System32\Macromed\Flash\FlashPlayerTrust)
????????? 2.在FlashPlayerTrust文件夹中创建一个.cfg(自定名称即可),文件内容为
??????????????????c:\
????????????????? d:\
??????????????????e:\
????????????????? (注:这里可以指定将来插件的安装路径,减小风险。每个路径占一行,用#添加注释)
????????? 3.讲过如上操作放在c/d/e盘下的flash文件就能正常的完成As和Js的通信了。
?
????? 问题的关键在于Flex的安全机制,Flex的安全模型是围绕SWF文件、本地数据和Internet URL等这些对象资源设计的。设计到上述问题的应该是计算机管理用户控制。
?
????? 管理用户和安装应用程序可以指定本地swf文件注册为受信。这些swf文件会被分配到受信的本地沙箱。他们可以与任何其他swf文件进行交互,也可以从任何位置(远程或本地)加载数据。
??????插件中需要加入上述授权文件。
?
?????? 通过上述设置,通讯正常了,通过这个问题对安全沙箱的安全机制了解了不少,对处理安全问题方面的内容有机攒了点经验。
??????????
????