【转】在网页里看flash的trace数据的js类

原文:http://www.jb51.net/article/17080.htm

功能:
flash的调用些方法能在网页中看到flash的trace方法输出的数据;
方法:
1. init(w,h,z);//w为显示界面的宽度, h为显示界面的高, z为层级(最好放在最顶层);<此方法可以省略>
2. trace(str);//要输出的数据;


使用:
1. 把jdhcn.js导入, jdhcn.js的内容如下:

var g=new Jdhcn();function Jdhcn(){};
/*flash debug*/
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"> &nbsp; <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;};}
 
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);//在网页下输出调试信息;
}
}
}
阅读(184) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
posted on 2016-01-25 16:34  玄冬  阅读(177)  评论(0编辑  收藏  举报