자바스크립트 객체 Explorer > script

본문 바로가기
사이트 내 전체검색

script

자바스크립트 객체 Explorer

페이지 정보

작성자 서방님 댓글 0건 조회 138회 작성일 08-08-20 10:23

본문

1.gif




객체단위로 디버그 할려는 문서에 아래의 코드를 넣는다..


 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>

댓글목록

등록된 댓글이 없습니다.

Total 846건 20 페이지
게시물 검색

회원로그인

접속자집계

오늘
122
어제
225
최대
1,347
전체
154,881
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.