网页中flash的trace方法输出数据

http://www.webjx.com/  2009-01-18 12:32:11  来源:极度鹤小居 

Webjx核心提示:flash的调用方法能在网页中看到flash的trace方法输出的数据.

我的js类jdhcn.js中的一个flashDebug方法:

功能:
flash的调用些方法能在网页中看到flash的trace方法输出的数据;

方法:
1. init(w,h,z);//w为显示界面的宽度,h为显示界面的高,z为层级(最好放在最顶层);<此方法可以省略>
2. trace(str);//要输出的数据。

使用:
1. 把jdhcn.js导入,点击下载jdhcn.js。
2. 在body里可以重写一个函数(也可以不写)。

程序代码:

<script language="javascript">
    function trace(str){
        g.flashDebug.trace(str);
    }
</script>

3. 在flash里写一个全局静态方法,在调试的时候就把trace方法替换为global.traceStr就行了:

程序代码:

public class global{
    import flash.external.ExternalInterface;
    public static function traceStr(str:String):void {
        trace(str);//在flash环境下输出调试信息;
        if(ExternalInterface.available){
            ExternalInterface.call("trace", str);//在网页下输出调试信息;
        }
    }
}

以下是例子:
因为这是新窗口弹出看效果,所以就把jdhcn.js文件里的内容般到html里来了。执行trace("测试jdhcn.flashDebug")来模拟是通过flash方法调用的。

HTML代码:

<head>  
<title>测试jdhcn.flashDebug</title> 
</head> 
<body> 
<script language="javascript"> var g=new Jdhcn();function Jdhcn(){};Jdhcn.prototype.flashDebug = new FD();g.flashDebug.init();function FD(){var btnObj;var conObj;FD.prototype.init = function(w,h,z){if(!w) {w = 500};if(!h) {h = 600};if(!z) {z = 100};var str = ’<div style="width:’+ w +’px; float:right; border:1px solid #0; 
background:#fff; position:absolute; right:5px; top:5px; z-index:’+ z +’;">’;str += ’<div><input id="debugShowBtn" type="button" onClick="g.flashDebug.show();" value="显示Debug"> <input type="button" onClick="g.flashDebug.clearAll();" value="清除Debug内容"> </div>’;str += ’<textarea id="debugContent" cols="" rows="" wrap="off" style="width:100%; height:’+ h +’px; 
display:none"></textarea></div>’;document.write(str);btnObj = document.getElementById("debugShowBtn");conObj = document.getElementById("debugContent");g.flashDebug.show();};FD.prototype.show = function(){if(btnObj.value == "显示Debug"){conObj.style.display = "block";btnObj.value = "隐藏Debug";}else{conObj.style.display = "none";btnObj.value = "显示Debug";}};FD.prototype.clearAll = function(){conObj.value = "";};FD.prototype.trace = function(str){conObj.value += str + "\n";conObj.scrollTop = conObj.scrollHeight;};} trace("测试jdhcn.flashDebug"); function trace(str){ g.flashDebug.trace(str); } 
</script> <body> 
更多