as3.0----flash复制功能在网页上面的小小应用
更新:HHH   时间:2023-1-7


as3代码

package  {
	import flash.display.Sprite;
	import fl.controls.Button;
	import flash.events.MouseEvent;
	import flash.external.ExternalInterface;
	import flash.system.System;

	[SWF(backgroundColor='0xffffff',width='120',height='30',frameRate='29')]
	public class main extends Sprite {

		public function main() {
			var btn:Button = new Button();
			btn.x = 0 ;
			btn.y = 0;
			btn.width  = 120;
			btn.height = 30;
			btn.label = '复制';
			btn.addEventListener(MouseEvent.CLICK,doCopyJSInFo);
			this.addChild(btn);
		}
		private function doCopyJSInFo(event:MouseEvent):void{
			var info:String = ExternalInterface.call('jsCopyInfoFun','copyeleId');
			System.setClipboard(info);
		}
	}
	
}

说明:上面代码实现的是调用js函数jsCopyInfoFun来获取该js函数的返回值。并把这个返回值放到粘贴板中。




下面则是html页面运行上面falsh功能的一个实例(text.swf是上面运行的flash结果文件)

<html>
    <head>
        <meta charset="utf-8"/>
        <title>test</title>
        <script type="text/javascript" src="swfobject.js"></script>
    </head>
    <body>
        <div >
            <textarea id="copyeleId" ></textarea>
            <div id="flashContainer" ></div>      
        </div>
    </body>
</html>
<script type="text/javascript">
    function jsCopyInfoFun(objId) {
        alert('复制成功');
        return document.getElementById(objId).value;
    }
    function todoTest() {
        alert('执行回调函数');
    }
    window.onload = function () {
        /*
         *  embedSWF: function (swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) 
         *  swfUrlStr swf的URL
         *  replaceElemIdStr  被swf替换的html元素的id
         *  widthStr   swf的宽
         *  heightStr   swf的高
         *  swfVersionStr  swf执行的最低版本
         *  xiSwfUrlStr  当版本低于要求时,引导到官方下载最新版本的flash插件
         *  flashvarsObj  swf 文件的入口参数
         *  parObj  通过json对象指定object的参数 play loop menu quality scale  salign  wmode bgcolor base swliveconnect
         *  attObj  通过json对象指定object的属性
         *  callbackFn  回调函数,这个回调函数无论加载 swf 文件成功或失败都会调用;
         */
        swfobject.embedSWF("test.swf", "flashContainer", "120", "60", "8", "expressInstall.swf", {}, {menu: false, quality: 'high'}, {id: "testflash", name: "dynamicContent2"}, todoTest);

    }
</script>

说明:swfobject是一个js插件,专用于swf文件。



附件:http://down.51cto.com/data/2366109
返回开发技术教程...