有一个FLEX应用,因为使用环境和使用者的限制,不能建立WEB站点,而是需要直接在本地磁盘中打开访问。同时为了一布署在WEB服务器上的应用使用同一套代码,所以必须突破访问本地文件的突破安全沙箱的限制。
首先说一下实现的思路,FLEX中不直接获取数据,而是通过调用加载它的页面上的JAVASCRIPT代码,如果是WEB应用时,JAVASCRIPT会访问WEBSERVICE获取数据,在本地直接打开访问时,JAVASCRIPT会直接访问本地的ACCESS数据库获取数据。
在本地直接打开访问时,在flex的bin-debug目录中是可以正常运行的,但是拷到其他目录下就不行了。。。。
很明显,是所谓的“安全沙箱的限制”了。通查了FLEX与flash player的设置项,也没发现在哪里能设置对目录的信任设置,那个郁闷喔......
最终发现了adobe真变态,flash player对本地目录的安全信任设置,必须在其官方网站的一个网页来做,害偶折腾了两天。
http://www.macromedia.com/support/documentation/cn/flashplayer/help/settings_manager04.html
大该网页进行设置后,设置信息应该是写入了计算机的注册表或其它位置,断开网线也会保留对所设目录的信任。
PS:偶的系统是WIN 2003,IE浏览器,好象在xp的系统下或firefox浏览器用时没安全沙箱的问题