采用flex与js之间的交互
找到html—template文件下的index.template.html插入
//关键代码 function openBrowser() { document.getElementById("fileInput").click(); } function OnFileChange() { //getPath(document.getElementById("fileInput")); //alert("hello"); // alert(thisMovie("jzbdtc")); thisMovie("Jdgt").OnFileChange1(getPath(document.getElementById("fileInput"))); //thisMovie("upload").OnFileChange(document.getElementById("fileInput").value); } function getPath(obj) //参数obj为input file对象 { if (window.navigator.userAgent.indexOf("MSIE")>=1) { obj.select(); return document.selection.createRange().text; } else if(window.navigator.userAgent.indexOf("Firefox")>=1) { if(obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } } function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName]; } else { return document[movieName]; } } <!--fileInput控件--> <input type="file" id="fileInput" style="0px;height:0px;" onchange="OnFileChange()" />
再到你所要用mxml中插入
private function init():void{
//注册JS回调,js调用flex
ExternalInterface.addCallback("OnFileChange1" ,getSourcePathHandler);
}
private function openSocure():void{
//flex调用JS中Browser函数
ExternalInterface.call("openBrowser");
}
private function getSourcePathHandler(path:String):void{
Alert。show(path);
}