웹마스터 팁

첨으로 강좌를 올리내요. 제 개인 사이트에 올린 강좌인데요. 도움이 되시길...


자바스크립트는 HTML내 어디에나 둘 수 있으나 "위치"는 자바스크립트의 처리시점을 결정한다. 즉 위에서 아래로 순차적으로 실행된다.
일반 프로그래밍 언어에서 프로그램제작時 헤더 부분에 변수의 초기화를 하는 것과 비슷하게 <HEAD></HEAD>태그 사이에 함수의 선언이나 변수의 초기화 같은 것을 둔다. 즉, 이 곳에 변수의 초기화와 함수의 동작을 정의하고 BODY내에서 정의된 변수와 함수의 결과값을 조작하거나 가져다 쓴다.

백문이 불여일견이다. 아래 두경우 코드를 실행하여 결과를 비교해보자.

경우 1)
[실행결과] 백구 사자 호랑이 거북이표범 물개

<head>
        <title>자바스크립트 코드 실행시점</title>
<script >
function jacy(){
document.write('거북이');
//document.write('<script>alert("dfdfdfdfd")</script>');

}
document.write('백구');
</script>
사자
</head>

<body>
호랑이
<script >
//alert('2');
jacy();
document.write('표범');
</script>
물개<br>
</body>

------------------------------------------------------------------------

경우 2
[실행결과] 거북이 ※ 또한 브라우져 페이지 제목 또한 사라짐
[분석]
onload의 실행시점은 html페이지가 위에서 아래끝까지 다 읽힌 시점(onload)
가 되므로 "거북이"가 된다. 그리고 한가지 눈여겨 볼 것은 document.write('어쩌고 저쩌고') 등은 코드가 불린 위치에 결과를 출력한다.
즉 일반 프로그래밍 언어에서처럼 함수는 결과를 코드가 실행된 위치에 돌려준다.

그러나 onload 이벤트에서 불려진 함수의 결과는 문서전체에 영향을 준다.
<head>
        <title>자바스크립트 코드 실행시점</title>
<script >
function jacy(){
document.write('거북이');
//document.write('<script>alert("dfdfdfdfd")</script>');

}
document.write('백구');
</script>
사자
</head>

<body onload="jacy()">
호랑이
<script >
//alert('2');
jacy();
document.write('표범');
</script>
물개<br>
</body>
제목 글쓴이 날짜
보안설정을 하다^^ 유의할점. [3] Dopesoul 2002.10.14
오 이런... 죄송하군요 ㅠ.ㅜ [2] 레드 2002.10.12
나만의 ftp서버 만들기 제2부 -serv-u 4.0- [12] 레드 2002.10.09
나만의 ftp서버 만들기 제1부 -serv-u 4.0- [1] 레드 2002.10.09
추천해드리는 보안공부 사이트 [3] Dopesoul 2002.10.05
리눅스 넋두리. [4] Dopesoul 2002.10.05
Redhat 8.0 release! [22] Dopesoul 2002.10.01
리눅스용 apm 자동설치 스크립트 [10] file 이경재 2002.09.27
웹호스팅할때 좋은 간단한 백업스크립트 [1] 김동현 2002.09.22
웹호스팅꽁수! 어느사용자가 얼만큼의 하드용량을 쓰고있는가? 알아봅시다. [1] Dopesoul 2002.09.22
War3 베틀넷 운영 [5] Dopesoul 2002.09.20
운영체제별 보안 참조사이트 [4] V(^o^)V 2002.09.16
apache + php + mysql + gd + freetype 설치 방법 [1] 꽃게BBS 2002.09.16
PC 한 대에 2 개 또는 그 이상의 랜카드 꽂고 서버 운영하기. [2] 김종환 2002.09.15
자동 apm 설치 쉘스크립트(리눅스) [5] file 김동현 2002.09.15
Win2k 터미널 서비스 연결시 MsTsc.Server 에러 때려잡기!! file KKwang 2002.09.10
레드헷 계열 사용하시는 분들 웹서버에 대해서...(APM연동) [11] lanyan 2002.09.10
[re] 레드헷 계열 사용하시는 분들 웹서버에 대해서...(APM연동) Dopesoul 2002.09.14
PHP에서의 SQL문 보안취약성 [5] 김영빈 2002.09.09
[Apache] 윈도우 NT 계열에 서비스 등록하기 [1] file 스카이 2002.09.08