2006-10-25

Flex 2和JavaScript交互

关键字: flex javascript
在Flex开发的时候,经常遇到一些问题处理起来比较麻烦.这个时候调用html页面里的js代码就成了最快的解决方案.flex主要是通过ExternalInterface.call来调用页面的代码,下面的例子是不需要返回值的调用.
joinmeet.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="200" height="150">
	<mx:Script>
		<![CDATA[
			import flash.external.*;
			
			public function Joinmeet() : void {
				var f : String = "showsubmenu";
				var m : String = ExternalInterface.call(f,"0");
				trace(m);
			}
			
			public function callWrapper():void {
				var f:String = "changeDocumentTitle";
				var m:String = ExternalInterface.call(f,"New Title");
				trace(m);
			}
		]]>
	</mx:Script>
	<mx:Button label="提交" click="Joinmeet()" x="123" y="118"/>
</mx:Application>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<style type="text/css">
<!--
.Layer1 {
	position:absolute;
	left:0px;
	top:50px;
	width:80%;
	height:205px;
	z-index:1;
	background:#ffe;
	border:1px #999 solid;
	background:#000;
}
#Layer1 {
	position:absolute;
	left:15px;
	top:3px;
	width:74px;
	height:26px;
	z-index:2;
	background:#f00;
}
-->
</style>
<SCRIPT language="javascript">
function showsubmenu(sid)
{
	whichEl = eval("submenu" + sid);
	if (whichEl.style.display == "none")
	{
		eval("submenu" + sid + ".style.display=\"\";");
	}
	else
	{
		eval("submenu" + sid + ".style.display=\"none\";");
	}
}

function changeDocumentTitle(a) {
	window.document.title=a;
	return "successful";
}
</SCRIPT>
<div id="Layer1" onclick="showsubmenu(0)" ></div>
<div class="Layer1" id=submenu0 align="center" style="display:none;">

  <object id="joinmeet" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="200" height="150" allowScriptAccess='always'>
	<param name='flashvars' value=''>
	<param name='src' value='joinmeet.swf'>
    <embed src="joinmeet.swf" name="joinmeet.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" width="200" height="150" name="joinmeet" flashvars="" allowScriptAccess='always'></embed>
  </object>
</div>  
  
  
<body>
</body>
</html>
评论
genedna 2007-08-23
pmt1982 写道
xgene 写道
能不能直接把javascript数组传到flex中
能不能直接把javascript数组传到flex中
把javascript的数组改为xml对象,做为参数的返回值返回到flex,再解析为对象就可以吧,没有试过,但是感觉可行。
pmt1982 2007-07-31
xgene 写道
能不能直接把javascript数组传到flex中
能不能直接把javascript数组传到flex中
xgene 2007-07-19
能不能直接把javascript数组传到flex中
genedna
搜索本博客
我的相册
Fe1b5f2f-7673-4cc0-a5f9-2c1a50b1b9d2-thumb
flex builder 2 on mac 3
共 3 张
存档
最新评论
评论排行榜