易截截图软件、单文件、免安装、纯绿色、仅160KB

关于跳过flex的sandbox实现访问本地资源的解决方案

需求: 
开发flex的过程中遇到一个问题。flex的项目需要在客服端显示一个局域网类的一台服务器的文件目录结构,并且要能够点击访问。
预想:
flex在以前的版本里面没有file类,这个可以用java代码在后台进行处理,生成xml文件。前台的flex到相应目录下面读取数据即可。
困难:
flash被下载到客服端,有严格的安全限制。如果flash能控制你的系统,那这个计算机世界太恐怖了。
flash的sandbox的内容很多,可以到网上去搜搜看。
现在问题是在客服端,点击访问本地资源的链接时,弹出flash错误:不能访问本地资源,只有信任的程序才能访问本地资源
解决方案:
这个问题很怪,在IE上面是能点击开来的,IE会用本地的打开方式来打开相应的文件,略过不提。
还要flex没有把路都堵死了,flex可以调用javascript代码(flash.external.ExternalInterface)。
在firefox里面有个插件叫做Noscript,可以允许js代码访问本地资源。还有一个插件叫locallink可以使用file://
而在chrome里面现在暂时还没有这样的功能,但是chrome有个插件叫IE tab。
所以下面就是我的解决方案:
IE: window.open("file://*");
firefox:安装Noscript,配置信任“your site”,"file://",同样是window.open("file://*");
chrome:待续
相关代码如下:
flex URLUtil:
import flash.external.ExternalInterface;
public class URLUtil    {
protected static const WINDOW_OPEN_FUNCTION : String = "window.open";
public static function openWindow(url : String, window : String = "_blank", features : String = "") : void {
var str:String= dealUrl(url);
ExternalInterface.call(WINDOW_OPEN_FUNCTION, "file:///"+str, window, features);
}
private static function dealUrl(str:String):String{
var string:String=str.substr(2);
var array:Array=string.split("\\");
var url:String="//";
for(var i:int=0;i<array.length;i++){
if(array[i] == ""){
url=url+array[i];
}else{
url=url+array[i]+"/";}
}
return url;
}
}
还有一个js 方法不要忘记了
获得user.agent。不同的浏览器不同的处理方法。


相关文档:

理解 flex component

component就是一个AS class 或者是MXML component文件在manifest文件中映射的标签.分可视和不可视
可视化component包括Containers 和 UI controls
Containers(Appliction, Panel...)
UI controls(Button, Label)
可以通过3种方式设置component的属性
1.tag attributers
Java代码
<mx:Application xmln ......

Flex Chart 技巧 移除浮水印

Flex Chart 虽然有提供完整的试用功能
不过编译完成的图表会加上水印
 “Flex Data Visualization Trial”的字样。
既然是 AS,那事情就简单了
只要在 Flex Project 內加上以下 Class:
一定要创建mx.charts.chartClasses,覆盖FLEX自带的ChartLicenseHandler
package mx.charts.chartClasses { ......

JAVA和Flex敏捷调用(二)

    Flex在和java调用过程中,其实有更加灵活的办法来提高系统的敏捷度,极大提高系统的耦合和开发效率。在这里我继续给大家介绍一下,敏捷调用中的java动态代码调用。
    先看java的类(BeanShell)这里主要是接收java代码来动态调用的
    package com.shine.framework.be ......

flex中如何使用资源

使用资源最简单的方法就是通过选中你的flex工程,然后从右键的菜单中选择properties,选择Flex build path中的Source Path,然后把你.properties文件所在的目录添加进去。现在就可以在MXML中使用资源了,代码比较简单,首先假设你的资源名名字是messages_zh_CN.properties,那么定义好
    <fx:Metadata ......

flex 客户端缓存 module swf(转)

flex或者flash客户端的缓存,并不是指浏览器的缓存,浏览器的缓存在一定时间后会过期,先作此声明。
使用flex或者flash开发出来的网站最大的问题就是swf文件过大,国内网速有限,导致加载时间过长,这样会丢失很多潜在的客户。
flex使用RSL技术,可以解决框架的缓存与共享,很大程度的解决了加载问题。但是如果项目过大, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号