js与flash函数相互交互

  可能已经有很多人写过了,嘿嘿。 我只是想给自己留个记录 呵呵 见效了 第一接触AS !

前提是必须导入这个外部类 才可实现JS与flash的互通
经过测试 完全可以 

首先 建立一个fla文件  可以用flashCS4 打开 然后生成 swf 文件

import flash.external.ExternalInterface;
function hello(){
		return "测试成功了哦~~";
	}
	//允许flash调用js函数 参数1:js函数名称 参数2:向js函数传递的参数
ExternalInterface.call("hello", "jacky");
//允许js调用flash中的函数 参数1:要调用flash函数的js函数,参数2:被调用flash函数
ExternalInterface.addCallback("helloas",hello);



接下来是 JSP页面
把你生成SWF 文件放入工程相应的目录下  把路径自己的路径就可以了
当然
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
	<title>测试</title>
	<script type="text/javascript">
		function callFromFlash() {
			alert("11")
		    var a=thisMovie("test").helloas();
		    alert(a);
		}
		function hello(v)
		{
			alert(v) ;
		}
             //thisMoivie 参数:是swf文件 的id 
		function thisMovie(movieName) {
		    if (navigator.appName.indexOf("Microsoft") != -1) {
		        return window[movieName]
		    }
		    else {
		        return document[movieName]
		    }
		}
	</script>
	</head>
	<body>
	 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="560" height="270" id="test">
				  <param name="movie" value="fl/tojs1.swf" />
				  <param name="allowScriptAccess" value="always" />
				  <param name="allowFullScreen" value="false" />
				  <param name="quality" value="high" />
			   	  <param name="wmode" value="transparent" />
				  <embed src="fl/tojs1.swf" quality="high" 
				  pluginspage="http://www.macromedia.com/go/getflashplayer" 
				  type="application/x-shockwave-flash" width="560" height="270" allowScriptAccess="always" wmode="transparent" ></embed>
		</object>
	 <input type="button" value="点我" onclick="callFromFlash();">
	</body>
</html>


这样 应该就可以了  如果成功的话 会先弹出来 flash调用js 的方法  然后点按钮 会出现js调用 as的方法

你可能感兴趣的:(java,html,jsp,Microsoft,Flash)