목차
script 요소
웹 프론트엔드 HTML 튜토리얼 HTML의 스크립트 태그에 대한 자세한 설명(코드 포함)

HTML의 스크립트 태그에 대한 자세한 설명(코드 포함)

Sep 06, 2018 pm 05:32 PM
html html5 javascript

이 글은 HTML의 스크립트 태그(코드 포함)에 대한 자세한 설명을 제공합니다. 여기에는 특정 참조 값이 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

script 요소

HTML 페이지에서 "Javascript" 언어를 사용하는 주요 방법은 script 요소 내부의 코드가 위에서 아래로 실행되는 것입니다.

여러 스크립트 요소가 도입되면 브라우저는 페이지에 나타나는 순서대로 스크립트 요소를 구문 분석합니다. 이전 구문 분석이 완료되면

HTML Two에서 다음 스크립트 요소의 내용이 처리됩니다.

//第一种方法:直接在标签内使用 javascript 即可
<script>
    console.log('第一种使用方法');
</script>

//第二种方法:引用外部文件
<script src="example.js"></script>
로그인 후 복사
에서 Javascript를 사용하는 방법

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="example1.js"></script>
        <script src="example2.js"></script>
    </head>
    <body>
        <div>页面的内容区域</div>
    </body>
</html>
로그인 후 복사

스크립트 요소의 속성

일반적으로 사용되는 스크립트 요소의 여러 속성
  • src: 선택 사항, 외부 Javascript 파일을 참조하는 데 사용됨
  • type: 선택 사항, 코드 작성 스크립트 언어 유형 사용됨(MIME 유형이기도 함), 기본값은 text/javascript
  • async: 선택 사항, 스크립트의 비동기 로딩, 외부 스크립트 파일에만 유효
  • defer: 선택 사항, 지연된 스크립트 로딩, 문서 이후 실행 완전히 구문 분석되어 외부 스크립트 파일에만 유효합니다

HTML에서 스크립트 요소의 위치

"Javascript" 언어는 단일 스레드 언어이므로 동시에 하나만 실행할 수 있습니다. 다음 작업은 이전 작업이 완료된 후에만 수행할 수 있으므로 HTML에서 스크립트 요소의 위치가 달라지며 다른 효과가 나타납니다.

모든 스크립트 요소는 요소에 배치됩니다.

이 접근 방식은 페이지의 내용이 많이 표시되기 전에 모든 Javascript 코드가 실행될 때까지 기다려야 함을 의미합니다. 이 방법을 사용하면 페이지 로딩이 매우 느리고 사용자 경험이 매우 열악할 것입니다. 그렇다면 어떻게 이런 방식으로 최적화할 수 있을까요? 실제로는 매우 간단합니다.

<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <div>页面的内容区域</div>
        <script src="example1.js"></script>
        <script src="example2.js"></script>
    </body>
</html>
로그인 후 복사
모든 스크립트 요소는 페이지 콘텐츠 뒤에 배치됩니다.

위에서 언급한 느린 페이지 로딩 문제를 최적화하려면 페이지 콘텐츠 뒤에 사용하는 Javascript 코드만 넣으면 됩니다. 먼저 로드하면 콘텐츠가 표시되고 Javascript 코드가 실행되므로 사용자는 페이지에 콘텐츠가 표시될 때까지 오랜 시간을 기다릴 필요가 없습니다.

//example1.js 中的代码
//console.log('example1');
//console.log(document.getElementById('content'));

//example2.js 中的代码
//console.log('example2');
//console.log(document.getElementById('content'));

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script defer src="example1.js"></script>
    <script defer src="example2.js"></script>
</head>
<body>
    <div id="content">这里页面的内容</div>
</body>
</html>
로그인 후 복사

스크립트 로딩 지연

스크립트 로딩을 지연하려면 스크립트 요소의 defer 속성을 사용해야 합니다. 요소가 defer 속성을 사용하면 실행 전에 전체 페이지가 구문 분석될 때까지 스크립트가 지연됩니다.

example1
null
example2
null
로그인 후 복사
defer 속성이 추가되지 않은 경우 콘솔에서 다음과 같은 결과가 출력되는 것을 확인할 수 있습니다.

example1
<div id="content">这里页面的内容</div>
example2
<div id="content">这里页面的内容</div>
로그인 후 복사
요소에 defer 속성을 추가하면 결과가 Javascript 코드가 표시되지 않는 것을 확인할 수 있습니다. p 요소의 내용이 로드될 때까지.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script async src="example1.js"></script>
    <script async src="example2.js"></script>
</head>
<body>
    <div id="content">这里页面的内容</div>
</body>
</html>
로그인 후 복사

스크립트의 비동기 로딩

스크립트의 비동기 로딩에는 스크립트 요소의 비동기 속성이 필요합니다. 이는 둘 다 스크립트 요소의 로딩 동작을 수정하는 것과 유사합니다. 페이지 로딩을 차단하면 문서 렌더링이 차단되며 비동기 속성이 있는 스크립트는 defer 속성과 달리 실행 순서를 보장할 수 없습니다.

즉, example2.js의 코드가 example1.js의 코드보다 먼저 실행될 수 있으므로 async 속성을 사용할 때는 두 js 간의 상호 의존성을 피하세요.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script async src="example1.js"></script>
    <script async src="example2.js"></script>
</head>
<body>
    <noscript>
        当前浏览器不支持 Javascript 请更换浏览器
    </noscript>
</body>
</html>
로그인 후 복사

noscript 요소

초기 브라우저에는 또 다른 문제가 있습니다. 즉, 브라우저가 Javascript 언어를 지원하지 않을 때 페이지 콘텐츠를 표시하는 방법에 대한 해결책은 브라우저에서 사용할 수 있는 noscript 요소를 만드는 것입니다. 자바스크립트를 지원하지 않습니다. 콘텐츠는 브라우저에 표시되며, 자바스크립트를 지원하지 않는 브라우저에서만 표시됩니다.

rrreee

관련 추천:

HTML에서 스크립트 태그의 역할은 무엇인가요? 스크립트 태그에서 type 속성의 사용법은 무엇입니까?

HTML_html/css_WEB-ITnose의 스크립트 태그에 대한 연구

HTML의

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

HTML의 테이블 테두리 HTML의 테이블 테두리 Sep 04, 2024 pm 04:49 PM

HTML의 테이블 테두리 안내. 여기에서는 HTML의 테이블 테두리 예제를 사용하여 테이블 테두리를 정의하는 여러 가지 방법을 논의합니다.

HTML 여백-왼쪽 HTML 여백-왼쪽 Sep 04, 2024 pm 04:48 PM

HTML 여백-왼쪽 안내. 여기에서는 HTML margin-left에 대한 간략한 개요와 코드 구현과 함께 예제를 논의합니다.

HTML의 중첩 테이블 HTML의 중첩 테이블 Sep 04, 2024 pm 04:49 PM

HTML의 Nested Table에 대한 안내입니다. 여기에서는 각 예와 함께 테이블 내에 테이블을 만드는 방법을 설명합니다.

HTML 테이블 레이아웃 HTML 테이블 레이아웃 Sep 04, 2024 pm 04:54 PM

HTML 테이블 레이아웃 안내. 여기에서는 HTML 테이블 레이아웃의 값에 대해 예제 및 출력 n 세부 사항과 함께 논의합니다.

HTML 입력 자리 표시자 HTML 입력 자리 표시자 Sep 04, 2024 pm 04:54 PM

HTML 입력 자리 표시자 안내. 여기서는 코드 및 출력과 함께 HTML 입력 자리 표시자의 예를 논의합니다.

HTML 정렬 목록 HTML 정렬 목록 Sep 04, 2024 pm 04:43 PM

HTML 순서 목록에 대한 안내입니다. 여기서는 HTML Ordered 목록 및 유형에 대한 소개와 각각의 예에 대해서도 설명합니다.

HTML에서 텍스트 이동 HTML에서 텍스트 이동 Sep 04, 2024 pm 04:45 PM

HTML에서 텍스트 이동 안내. 여기서는 Marquee 태그가 구문과 함께 작동하는 방식과 구현할 예제에 대해 소개합니다.

HTML 온클릭 버튼 HTML 온클릭 버튼 Sep 04, 2024 pm 04:49 PM

HTML onclick 버튼에 대한 안내입니다. 여기에서는 각각의 소개, 작업, 예제 및 다양한 이벤트의 onclick 이벤트에 대해 설명합니다.

See all articles