본문 바로가기

마크업 언어/HTML

HTML <script> 태그, 웹 페이지에 자바스크립트 삽입하기

HTML <script> 태그, 웹 페이지에 자바스크립트 삽입하기

웹 페이지에 동적 기능을 추가하려면 자바스크립트를 사용해야 하며, 이를 HTML 문서에 삽입하는 방법으로 <script> 태그가 사용됩니다. 이 가이드에서는 <script> 태그의 기본 사용법부터 고급 활용법까지 자세히 다룹니다. 자바스크립트를 웹 페이지에 통합하는 다양한 방법과 최적화 기법에 대해 알아보겠습니다.

 

 

목차

  1. <script> 태그의 기본 개념
  2. 내부 스크립트와 외부 스크립트
  3. 스크립트 로딩 순서 제어하기
  4. defer와 async 속성의 차이점
  5. 스크립트 태그의 위치에 따른 성능 최적화
  6. 기타 고급 활용 방법

 

<script> 태그의 기본 개념

<script> 태그는 HTML 문서 내에서 자바스크립트를 삽입할 수 있도록 하는 요소입니다. 자바스크립트 코드는 이 태그 안에 직접 작성하거나, 외부 파일을 참조하여 불러올 수 있습니다. 기본적인 사용 예제는 다음과 같습니다.

<script>
    console.log('Hello, World!');
</script>

위 예제는 브라우저 콘솔에 'Hello, World!'라는 메시지를 출력하는 간단한 자바스크립트 코드를 삽입하는 방법을 보여줍니다.

 

 

내부 스크립트와 외부 스크립트

자바스크립트는 HTML 문서 내에 직접 작성할 수 있으며, 이를 내부 스크립트라고 합니다. 하지만 더 일반적인 방법은 자바스크립트를 별도의 파일에 작성한 후, 이를 HTML 문서에 불러오는 외부 스크립트입니다. 외부 스크립트는 코드 재사용성을 높이고, 코드와 콘텐츠의 분리를 가능하게 합니다.

<script src="script.js"></script>

위 코드에서 src 속성은 자바스크립트 파일의 경로를 지정하며, 브라우저는 해당 파일을 불러와 실행하게 됩니다.

 

 

스크립트 로딩 순서 제어하기

자바스크립트의 로딩 순서는 웹 페이지의 성능과 사용자 경험에 큰 영향을 미칠 수 있습니다. 기본적으로 스크립트는 페이지가 위에서 아래로 읽히는 순서대로 로드됩니다. 그러나 이러한 로딩 방식은 때때로 페이지 렌더링을 지연시킬 수 있습니다. 이를 제어하기 위해 deferasync 속성을 사용할 수 있습니다.

 

 

defer와 async 속성의 차이점

deferasync 속성은 외부 스크립트가 로드되는 시점을 제어합니다. defer는 HTML 문서가 모두 파싱된 후에 스크립트가 실행되도록 보장합니다. 반면 async는 스크립트가 비동기적으로 로드되며, 로드가 완료되는 즉시 실행됩니다.

<script src="script.js" defer></script>
<script src="script.js" async></script>

이러한 속성은 페이지 로딩 시간을 최적화하고, 사용자 경험을 개선하는 데 중요한 역할을 합니다.

 

 

 

 

스크립트 태그의 위치에 따른 성능 최적화

<script> 태그를 어디에 위치시키느냐에 따라 웹 페이지의 로딩 성능이 달라질 수 있습니다. 일반적으로 스크립트를 <head> 태그 안에 포함시키면, 페이지의 초기 로딩 속도가 느려질 수 있습니다. 반대로, <body> 태그의 맨 마지막에 위치시키면 페이지 콘텐츠가 먼저 렌더링된 후 스크립트가 로드되므로 성능이 향상될 수 있습니다.

 

 

기타 고급 활용 방법

HTML5부터는 type 속성을 명시하지 않아도 기본적으로 자바스크립트로 인식되며, 모듈화된 자바스크립트 코드(ES6 모듈)를 사용할 때는 type="module" 속성을 추가할 수 있습니다. 또한, 특정 조건에 따라 스크립트를 동적으로 삽입하거나 제거하는 방법도 있습니다.

<script type="module">
    import { myFunction } from './module.js';
    myFunction();
</script>

이처럼 다양한 방식으로 <script> 태그를 활용하면 웹 애플리케이션의 기능을 확장할 수 있습니다.

이 가이드를 통해 <script> 태그를 효과적으로 사용하는 방법과, 이를 통해 웹 페이지의 성능을 최적화하는 방법에 대해 깊이 있게 이해할 수 있습니다.