레이블이 자바스크립트인 게시물을 표시합니다. 모든 게시물 표시
레이블이 자바스크립트인 게시물을 표시합니다. 모든 게시물 표시

2010년 7월 30일 금요일

[javascript] 브라우저 높이 구하기

<script>
document.writeln("브라우저의 전체 높이",screen.availHeight); //이것은 해상도의 높이에서 하단의 퀵런치 만큼의 사이즈만큼 빠지는거구요

document.writeln("브라우저의 전체 너비",screen.availWidth); //너비는 해상도와 일치할겁니다.

document.writeln("모니터의 해상도 높이 ",screen.height);

document.writeln("모니터의 해상도 너비 ",screen.width);

document.writeln("브라우저안쪽의 높이 ",document.body.clientHeight); //이것이 브라우저 안쪽의 높이구요
document.writeln("브라우저안쪽의 너비 ",document.body.clientWidth); //이것이 브라우저의 안쪽 너비죠..

document.writeln("문서 높이",document.body.scrollHeight); //이것이 문서 높이죠..
</script>

2009년 12월 18일 금요일

ie와 ff 에서 노드 탐색 차이점

http://www.permadi.com/tutorial/domTree/index.html

IE 와 FF의 차이점

IE 와 FF(firefox) 의 차이점

1. hand 는 웹표준이 아니여서 익스에서만 된다. 다음부턴 pointer 를 쓰자.

cursor:hand(x) --> cursor:pointer(0)



2. FF에서의 javascript 는 function 밖에서 변수 초기화가 되지 않는다.
예를들어 아래 소스를 보자.

[code]var timeInterval = 5000;

function startInterval() {
    setTimeout("test()",timeInterval);
}
function test() {
    alert("hello!");
}
startInterval();[/code]

IE 에선 5초있다가 test() 를 실행하게되지만 FF 에선 바로 test() 실행된다.
이유는 timeInterval 이 초기화 되지 않기 때문이다.
유의하자.


3. FF 에선 selectSingleNode 와 같은 XPATH 탐색 함수가 지원되지 않는다.
예를들어 IE 의 아래와같은 구문은

[code]var obj = xmlObj.selectSingleNode("root/subnode");[/code]

FF에선안되고 아래와 같이 바꿔야 IE,FF 모두 쓸수있다.

[code]var obj = xmlObj.getElementsByTagName("root")[0].getElementsByTagName("subnode")[0];[/code]

XPATH 가 웹표준이 아니었나? 상당히 편했는데 하루빨리 지원됬으면 좋겠다.


4. IE 에서 노드 탐색시 .text 로 텍스트를 불러올수있는데 FF 에선 불가능하다.
아래 소스는 IE 에서는 가능하나 FF 에선 불가능하다.

[code]var text = xmlObj.getElementsByTagName("root")[0].text[/code]

모두 가능하게 하려면 아래 소스를 쓰자

[code]var text = xmlObj.getElementsByTagName("root")[0].firstChild.nodeValue;[/code]



5. 위지윅 에디터 모드 변경법
IE 에서는 어떤 오브젝트든 contentEditable="true" 라는 플랙만 주면 에디터 모드가 된다. 예를들면 아래와 같다

[code]<div id="editor" contentEditable="true"></div>[/code]

FF 에서는 아래와같이 javascript 로 designMode 를 On 시켜줘야 한다.

[code]editor.contentDocument.designMode="On";[/code]

FF 에서는 document 객체에서 designMode 를 켜줘야 하기때문에 iframe 으로 써야한다.

 

출처 : http://cranix.net/250