> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 현재 실행 환경이 어떤 브라우저인지 확인하는 방법은 무엇입니까?

JavaScript에서 현재 실행 환경이 어떤 브라우저인지 확인하는 방법은 무엇입니까?

王林
풀어 주다: 2023-09-04 19:37:02
앞으로
1348명이 탐색했습니다.

JavaScript에서 현재 실행 환경이 어떤 브라우저인지 확인하는 방법은 무엇입니까?

런타임 환경은 코드가 실행되는 환경입니다. 코드에 액세스할 수 있는 전역 개체를 알려주고 결과에도 영향을 줍니다. JavaScript 코드는 다양한 유형의 환경에서 실행될 수 있으며 그 중 일부는 Node.js, 서비스 워커 또는 웹 브라우저입니다. 따라서 JavaScript로 코딩을 시작하기 위해 추가 소프트웨어를 설치할 필요가 없습니다. 모든 웹 브라우저에는 JavaScript 엔진이 함께 제공됩니다. 어떤 브라우저에서든 작성한 스크립트를 간단히 실행할 수 있지만 ECMAScript(ES6) 기능의 모든 규칙을 따르도록 보장됩니다.

여기서 코드가 실행되는 런타임 환경을 감지합니다. Node.js로 작성된 JavaScript 코드는 브라우저 환경, 서비스 워커 환경, Node.js 환경 자체 등 모든 환경에서 실행될 수도 있습니다. 다른 환경에서 코드를 실행하는 경우 해당 환경의 모든 요구 사항을 일치해야 합니다.

런타임 환경이 브라우저인지 확인

코드를 런타임 환경이 브라우저인지 확인 하는 직접적인 방법은 없습니다. 따라서 런타임 환경을 확인하려면 각 환경에 맞게 몇 가지 조건을 설정하고 우리 코드가 어떤 환경에서 실행되고 있는지 확인해야 합니다. 一段代码是不是浏览器没有直接的方法。因此,要检查运行时环境,我们必须设置一些条件来匹配每个环境,并检查我们的代码在哪个环境中运行。

Syntax

다음은 현재 실행 중인 환경이 브라우저인지 확인하는 구문입니다. -

type of window === "object"
로그인 후 복사

위 명령문이 true를 반환하면 현재 실행 중인 환경은 브라우저이고, 그렇지 않으면 그렇지 않습니다.

알고리즘

  • 1단계< /strong> - 창 === "객체"의 조건 유형을 확인하세요.
  • STEP 2 - true가 반환되면 현재 런타임 환경이 윈도우이므로 메시지가 출력됩니다.
  • STEP 2 - false가 반환되면 현재 런타임 환경이 윈도우가 아니기 때문에 메시지가 출력됩니다.

Example

아래 예시에서는 현재 실행중인 환경이 브라우저인지 확인합니다.

<!DOCTYPE html>
<html>
<body>
   <div>
   <h2>Check if the Current Runtime Environment is Browser</h2>
   <p>Click the below button to know if the runtime environment is browser or not</p>
   <button onclick = "isBrowser()"> Check Runtime Environment </button>
   <p id="result1"></p>
   <p id="result2"></p>
   </div>
   <script>
      function isBrowser() {
         var text="Runtime environment";

         // Check if the runtime environment is a Browser
         if (typeof window === "object") {
            document.getElementById("result1").innerHTML = text + " is Browser";
         } else {
            document.getElementById("result2").innerHTML = text + " is NOT Browser";
         }
      }
   </script>
</body>
</html>
로그인 후 복사

다양한 런타임 환경 확인

각 환경마다 조건이 다릅니다.

  • 브라우저 환경< /strong>의 경우 창 유형은 "개체"와 동일해야 합니다.

  • node.js 환경의 경우 먼저 프로세스 유형이 "object"인지, require 유형이 "function"인지 확인하는 두 가지 조건을 확인해야 합니다.

  • 두 조건이 모두 true인 경우에만 환경은 node.js입니다. 환경 .

  • 서비스 워커 환경의 경우 가져온 스크립트의 유형이 "함수"인지 확인하고, 함수와 같으면 해당 환경만 서비스 워커 환경입니다.

Syntax

런타임 환경을 확인하는 구문은 다음과 같습니다. -

// Condition if Runtime Environment is Node.js
typeof process === "object" &&typeof require === "

// Condition if Runtime Environment is Service Worker
typeof importScripts === "function

// Condition if Runtime Environment is Browser
typeof window === "object"
로그인 후 복사

Algorithm

  • 1단계 - 먼저 런타임 환경이 Node.js인지 확인합니다. true인 경우 올바른 메시지가 표시됩니다.
  • 2단계 - 다음으로 현재 런타임 환경이 서비스 워커인지 확인합니다. true인 경우 올바른 메시지가 표시됩니다.
  • 3단계 - 마지막으로 런타임 환경이 브라우저인지 확인합니다. true인 경우 올바른 메시지가 표시됩니다.

Example

다음 코드를 사용하여 프로그램의 런타임 환경을 확인할 수 있습니다.

<!DOCTYPE html>
<html>
<body>
   <div>
   <h2>Check the Current Runtime Environment</h2>
   <p>Click the below button to know the runtime environment</p>
   <button onclick = "isBrowser()"> Check Runtime Environment </button>
   <p id="result1"></p>
   <p id="result2"></p>
   <p id="result3"></p>
   </div>
   <script>
      function isBrowser() {
         var text="Runtime environment";

         // Check if the runtime environment is Node.js
         if (typeof process === "object" &&typeof require === "function") {
            document.getElementById("result1").innerHTML = text + " is node.js"; }

            // Check if the runtime environment is a Service worker

            if (typeof importScripts === "function") {
               document.getElementById("result2").innerHTML = text + " is service worker";
            }

            // Check if the runtime environment is a Browser
            if (typeof window === "object") {
               document.getElementById("result3").innerHTML = text + " is Browser";
            }
         }
   </script>
</body>
</html>
로그인 후 복사

"런타임 환경 확인" 버튼을 클릭하면 프로그램이 실행되는 환경에 따른 출력이 화면에 표시됩니다.

JavaScript의 이 기능을 사용하면 어떤 환경에서든 코드를 작성하고 다른 어떤 환경에서도 실행할 수 있습니다. 특히 웹 브라우저에서만 실행되는 웹 페이지를 사용하면서 웹 브라우저에서 더욱 그렇습니다.

참고 - 여기에 사용된 메소드 유형은 문자열, 숫자, 객체, 함수 또는 기타 모든 종류의 데이터 유형으로 출력을 제공하는 것과 마찬가지로 변수, 함수 또는 메소드의 데이터 유형을 제공합니다.

위 내용은 JavaScript에서 현재 실행 환경이 어떤 브라우저인지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿