2013-03-27 13:36:52 - 본인 요청으로 인한 삭제 (냉무) ☆ > 자유게시판

자유게시판

2013-03-27 13:36:52 - 본인 요청으로 인한 삭제 (냉무) ☆ 정보

2013-03-27 13:36:52 - 본인 요청으로 인한 삭제 (냉무) ☆

본문

추천
0

댓글 15개

처음으로 그누보드 열심히 분석해봤네요^^;;

보시면 table2chart-yui-compressed.js 파일안에 table2chart.css 불러서 hidden속성을 맞추는 구문이 있네요. js파일 경로에 table2chart.css 스타일시트를 넣으시면 해결되실거 같아요.
금방 해 봤는데요 .. 역시나 그대로 노출됩니다.
table2chart.css 는

.hidden{
  position:absolute;
  top:0;
  left:-9999px;
}

.fromTable {border: 1px solid #ccc}

table{
  border-collapse:collapse;
  border:1px solid #999;
  width:400px;
}
th,td{
  padding:5px;
  border:1px solid #999;
}
th{
  background:#eee;
}
위 내용이 전부입니다.
js 내용이네요 ...

var Table2Chart=new Class({Implements:Options,options:{triggerClass:"toChart",chartClass:"fromTable",styleChart:"<?=$g4[path]?>/admin/chart/table2chart.css",hiddenClass:"hidden",chartColor:"339933",chartSize:"450x150",sizeCheck:/\s?size([^\s]+)/,colorCheck:/\s?color([^\s]+)/},initialize:function(options){this.setOptions(options);this.addStyle();var tables=$$("table");for(var i=0;tables[i];i++){var t=tables[i];var c=tables[i].className;var data=[];var labels=[];if(c.indexOf(this.options.triggerClass)!==-1){var size=this.options.sizeCheck.exec(c);size=size?size[1]:this.options.chartSize;var color=this.options.colorCheck.exec(c);color=color?color[1]:this.options.chartColor;var chartsrc="http://chart.apis.google.com/chart?cht=p3&chco="+color+"&chs="+size+"&chd=t:";var tds=t.getElementsByTagName("tbody")[0].getElementsByTagName("td");for(var j=0;tds[j];j+=2){labels.push(tds[j].innerHTML+"("+tds[j+1].innerHTML+")");data.push(tds[j+1].innerHTML)}chartsrc+=data.join(",")+"&chl="+labels.join("|");var alt=t.get("summary");t.addClass(this.options.hiddenClass);new Element("img",{src:chartsrc,alt:alt,"class":this.options.chartClass}).inject(t,"before")}}},addStyle:function(){var head=$$("head")[0];var style=document.createElement("link");style.setAttribute("rel","stylesheet");style.setAttribute("type","text/css");style.setAttribute("href",this.options.styleChart);document.getElementsByTagName("head")[0].insertBefore(style,head.firstChild)}});
음..제가 잘못 알고있는건지..js파일안에 스크립트 언어는 적용이 안되는걸로 알고 있습니다. 컴파일순서문제로. php코드가 호출된후 스크립트가 호출이 되서. js파일이 호출전에 이미 php코드는 컴파일이 끝난상태이기때문에 위에 코드는 적용이 안될거 같습니다.

styleChart:"<?=$g4[path]?>/admin/chart/table2chart.css" 이부분을

가상경로나 절대경로로 따로 맞추시면 될거 같습니다.

styleChart:"/admin/chart/table2chart.css" 이런식으로 경로를 맞추면 되지 않을까 싶네요.
가상경로 절대경로 다 맞추어 보았습니다.
물온 visit_browser.php 에서도 ..css 불러 보았구요 ...

아무래도 ... 안되는거 같습니다.
js파일 내용을 조금 유추해 본다면

hidden 클래스를 적용해서

.hidden{
  position:absolute;
  top:0;
  left:-9999px;  <-- 여기서 좌표를 화면 밖으로 보내는 내용이네요.
}

여기서 좌표를 left:10px 이런식으로 바꾸시면 원하는 위치에 테이블 내용이 나오구요.
이거 한번 봐보세요^^

visit_browser.php 에서는 table2chart.css 파일을 빼시구요.

소스상에는 /adm/chart/table2chart-yui-compressed.js
경로가 adm이신거 같은데요.
혹시 table2chart-yui-compressed.js 파일안에는

/admin/chart/table2chart.css 이렇게 경로를 맞추신건 아닌가요?
물론 js 에서 불러다들이는 css 당연히 visit_browser.php 에서는 table2chart.css 파일을 빼고요...

js 에 css 파일을 불러 들이고자 ... 절대경로 상대경로 다 써 보았지만 ... 변함이 없네요 ...

이제 생각해 보니 <?=$g4[path]?> 도 상대경로군요 ...
./  ../  <?=$g4[path]?>/adm/chart/table2chart.css 등등 ....
table2chart.css 파일하고는 전혀 상관이 없는 듯 합니다.

js 에서 table2chart.css 날려도 그대로 노출됩니다.

아무래도 ...  include_once("./visit.sub.php");  영양을 받는 듯 ... 합니다.
예 저도 이제 들어가봐야되서.ㄷㄷ
마지막으로 visit_browser.php 소스안에

<style>
.hidden{
  position:absolute;
  top:0;
  left:-9999px;
}
</style>

스타일을 한번 적용해보시기 바랍니다.

이게 적용이 안되신다면

js파일에서 스타일시트 호출하는 경로가 잘못되었거나

다른 스타일시트에서 hidden이라는 클래스 이름으로 스타일을 정의해놓으신듯 하네요.

hidden 클래스를 정의해 두셨다면 js파일안에

hiddenClass:"hidden", <-- 이부분에서 클래스명을 다른걸로 바꿔서 적용해보시구요.

그럼 좋은하루 되세요.
전체 196,490 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT