Candle
 


Search Results for '크기구하기'


1 POSTS

  1. 2008/06/09 브라우저 문서 영역 크기 구하기 by 쭈니

브라우저 문서 영역 크기 구하기

브라우저의 문서 영역의 크기를 구할때
현재 보여지는 부분의 크기(clientWidth, clientHeight)와
실제 존재하는 부분의 크기(scrollWidth, scrollHeight)를 사용하게 되는데,

이게, 브라우저마다 또 표준 DTD 인지 여부에 따라 구하는 방법이 모두 상이하다.
그래서 간단한 함수로 만들어봤다.

IE5, IE55, IE6, IE7, IE8, FF2, Safari3, Opera9 에서 테스트 됨 (Language : javascript)
  1. /**
  2. * 브라우저 document 영역의
  3. * clientWidth/clientHeight, scrollWidth/scrollHeight 구하기
  4. *
  5. * @author hooriza
  6. */
  7. function getClientSize() {
  8.   var oDoc = document[document.compatMode == 'CSS1Compat' ? 'documentElement' : 'body'];
  9.   if (/Opera/.test(navigator.userAgent)) oDoc = document.body;
  10.   return [
  11.     oDoc.clientWidth,
  12.     oDoc.clientHeight
  13.   ];
  14. }
  15.  
  16. function getScrollSize() {
  17.   var oDoc = document[document.compatMode == 'CSS1Compat' ? 'documentElement' : 'body'];
  18.   if (/Opera|Safari/.test(navigator.userAgent)) oDoc = document.body;
  19.  
  20.   // IE6 미만이면
  21.   if (/MSIE\s([0-9]+(\.[0-9]+)*)/.test(navigator.userAgent) && parseFloat(RegExp.$1) < 6) {
  22.    
  23.     var aOld = [ oDoc.scrollLeft, oDoc.scrollTop ];
  24.     var aClient = getClientSize();
  25.    
  26.     oDoc.scrollLeft = 999999;
  27.     oDoc.scrollTop = 999999;
  28.    
  29.     var aRet = [
  30.       oDoc.scrollLeft + aClient[0],
  31.       oDoc.scrollTop + aClient[1]
  32.     ];
  33.    
  34.     oDoc.scrollLeft = aOld[0];
  35.     oDoc.scrollTop = aOld[1];
  36.    
  37.     return aRet;
  38.    
  39.   }
  40.   return [
  41.     oDoc.scrollWidth,
  42.     oDoc.scrollHeight
  43.   ];
  44. }

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 쭈니

, , ,
Response
No Trackback , No Comment
RSS :
http://css.isfreeweb.com/tc/rss/response/3

Trackback URL : http://css.isfreeweb.com/tc/trackback/3

Leave a comment
[로그인][오픈아이디란?]

블로그 이미지

쭈니의 개인블로그입니다. 웹표준,접근성,퍼블리싱 그리고, 니콘D80 이야기로 꾸려나갈 생각입니다.

- 쭈니

Archives

Authors

  1. 쭈니

Recent Comments

Recent Trackbacks

Calendar

«   2008/11   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

Site Stats

Total hits:
564
Today:
4
Yesterday:
3