자바스크립트 객체 Explorer
페이지 정보
작성자 서방님 댓글 0건 조회 138회 작성일 08-08-20 10:23본문
객체단위로 디버그 할려는 문서에 아래의 코드를 넣는다..
var re_debug;
function getDebuger(){
re_debug = window.open("debug.html","debug","width=605,height=700,scrollbars=no,status=yes");
return;
}
document.body.onunload = function(){
if ( re_debug ){
var re = confirm("Close DebugWindow too ? ");
if( re ) re_debug.close();
}
}
getDebuger();
debug.html(실제구현파일)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Debug Window </title>
<style type="text/css">
body,td,span,div,a,input{
font-family:"verdana";
font-size:"11px";
color:"#333333";
text-decoration:none;
}
body,div,select,textarea{
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff;
SCROLLBAR-SHADOW-COLOR: #333333;
SCROLLBAR-3DLIGHT-COLOR: #adadad;
SCROLLBAR-ARROW-COLOR: #494949;
SCROLLBAR-TRACK-COLOR: #eaeaea;
SCROLLBAR-DARKSHADOW-COLOR: #ffffff;
}
input{
border:solid 1px #CCCCCC;
background-color:#EEEEEE;
height:18px;
}
a{ color:"#FF9900"; }
a:link{ color:"#FF9900"; }
a:hover{ text-decoration: underline }
a:visited{ text-decoration: underline }
a:active{ text-decoration: underline }
</style>
<body topmargin="2" leftmargin="2">
<table width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#999999">
<col width="200">
<col width="200">
<col width="200">
<tbody bgcolor="#FFFFFF">
<tr>
<td style="padding-left:5px">
<div style="width:190;height:60;border:none;overflow:auto;padding:2 2 2 2">
<a href="javascript:traceObj( 'opener.window' )">window</a><br>
</div>
</td>
<td style="padding-left:5px">
<div style="width:190;height:60;border:none;overflow:auto;padding:2 2 2 2">
<a href="javascript:traceObj( 'opener.document' )">document</a><br>
<a href="javascript:traceObj( 'opener.navigator' )">navigator</a><br>
<a href="javascript:traceObj( 'opener.location' )">location</a><br>
<a href="javascript:traceObj( 'opener.frames' )">frames</a><br>
<a href="javascript:traceObj( 'opener.screen' )">screen</a><br>
<a href="javascript:traceObj( 'opener.history' )">history</a><br>
</div>
</td>
<td style="padding-left:5px">
<div style="width:190;height:60;border:none;overflow:auto;padding:2 2 2 2">
<a href="javascript:traceObj( 'opener.document.forms' )">forms</a><br>
<a href="javascript:traceObj( 'opener.document.cookie' )">cookie</a><br>
<a href="javascript:traceObj( 'opener.document.link' )">link</a><br>
<a href="javascript:traceObj( 'opener.document.anchors' )">anchors</a><br>
<a href="javascript:traceObj( 'opener.document.images' )">images</a><br>
<a href="javascript:traceObj( 'opener.document.Embeds' )">Embeds</a><br>
<a href="javascript:traceObj( 'opener.document.plugins' )">plugins</a><br>
<a href="javascript:traceObj( 'opener.document.all' )">all</a><br>
</div>
</td>
</tr>
<form name="frm" onsubmit="traceObj(this.path.value) ; return false ; ">
<tr>
<td colspan="3" align="right">
<a href="javascript:goPrev();">prev</a> / <a href="javascript:goNext();">next</a>
<input type="text" name="path" size="80" style="text-align:right">
</td>
</tr>
</form>
<tr height="500">
<td colspan="3">
<div style="width:595;height:590;border:solid 1px #CCCCCC;overflow:auto;padding:2 2 2 2">
<table width="570" border="0" cellpadding="2" cellspacing="1" bgcolor="#999999" id="data">
<tbody bgcolor="#FFFFFF">
</table>
</div>
</td>
</tr>
</table>
</body>
</html>
<script language="javascript">
<!--
var data = document.getElementById("data");
var arr_history = new Array(20);
var pos_arr = 0;
var isWrite = true;
function writeHistory( val ){
var flag = false;
for( var i = 0 ; i < arr_history.length ; i++ ){
if( arr_history[i] == undefined ){
arr_history[i] = val;
flag = true;
break;
}
}
if( ! flag ){
for( var i = 1 ; i < arr_history.length ; i++ ){
arr_history[(i-1)] = arr_history[i];
}
arr_history[arr_history.length-1] = val;
}
}
function goPrev(){
if( arr_history[ ( pos_arr - 1 ) ] == undefined || ! arr_history[ ( pos_arr - 1 ) ] ) return;
isWrite = false;
traceObj( ( arr_history[pos_arr-1] ) );
pos_arr--;
}
function goNext(){
if( arr_history[ ( pos_arr + 1 ) ] == undefined || ! arr_history[ ( pos_arr + 1 ) ]) return;
isWrite = false;
traceObj( ( arr_history[pos_arr+1] ) );
pos_arr++;
}
function traceObj( tobj ){
if( opener.closed ){
alert("Debug 할 창이 닫혀있습니다!");
self.close();
return;
}
trace( tobj );
}
function clearData(){
for( var i = ( data.rows.length - 1 ) ; i >= 0 ; i-- ){
data.deleteRow( i );
}
}
function trace( tobj ){
if( isWrite ){
writeHistory( tobj );
pos_arr++;
}
clearData();
var str_tobj = tobj;
try{
tobj = eval( tobj );
}catch(E){
return;
}
var obj = "";
for( var str in tobj ){
obj = "";
var tr = data.insertRow();
var td_label = tr.insertCell();
var td_data = tr.insertCell();
td_label.style.width = "200";
td_label.style.backgroundColor = "#EEEEEE";
try{
td_label.innerHTML = str +"("+ typeof(tobj[ str ]) +")" ;
if( tobj[ str ] == "[object]"){
if( ! isNaN(str) ){
obj = str_tobj+"["+str+"]";
td_data.innerHTML = "<a href="javascript:traceObj('"+ obj +"')">"+ tobj[ str ] + "</a>";
}else{
obj = str_tobj+"."+str
td_data.innerHTML = "<a href="javascript:traceObj('"+ obj +"')">"+ tobj[ str ] + "</a>";
}
}else{
td_data.innerHTML = tobj[ str ];
}
}catch( E ){
td_data.innerHTML = "<font style='color:red'>"+obj+"</font>";
}
}
document.forms[0].path.value = str_tobj;
isWrite = true;
}
traceObj("opener.window");
//-->
</script>
댓글목록
등록된 댓글이 없습니다.