Home  >  Article  >  Web Front-end  >  How to check which browser the current running environment is in JavaScript?

How to check which browser the current running environment is in JavaScript?

王林
王林forward
2023-09-04 19:37:021271browse

How to check which browser the current running environment is in JavaScript?

Runtime environment is the environment in which code is executed. It tells your code which global objects it can access and also affects its results. JavaScript code can run in different types of environments, some of which are Node.js, Service Workers, or web browsers. So, to start coding with JavaScript, you don’t need to install any additional software. Every web browser comes with a JavaScript engine. You can simply run the script you write in any browser, but it ensures that it follows all the rules of ECMAScript (ES6) functionality.

Here we will detect which runtime environment our code is running in. JavaScript code written in Node.js can also run in any environment, whether it's a browser environment, a Service Worker environment, or the Node.js environment itself. When running code in a different environment, you need to match all the requirements of that environment.

Check whether the runtime environment is a browser

Tocheck whether the runtime environmentpiece of code is a browserThere is no direct way. So, to check the runtime environment, we have to set some conditions to match each environment and check in which environment our code is running. 一段代码是不是浏览器没有直接的方法。因此,要检查运行时环境,我们必须设置一些条件来匹配每个环境,并检查我们的代码在哪个环境中运行。

Syntax

The following is the syntax to check whether the current running environment is a browser-

type of window === "object"

If the above statement returns true, the current running environment is a browser, otherwise no.

Algorithm

  • Step 1 - Check condition typeof window === "object".
  • STEP 2 - If true is returned, a message is displayed because the current runtime environment is a window.
  • STEP 2 - If false is returned, a message is displayed because the current runtime environment is not a window.

Example

In the following example, we check whether the current running environment is a browser.

<!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>

Check different runtime environments

Each environment has different conditions.

  • For browser environments, the type of window should equal "object".

  • For node.js environment, we must check 2 conditions. First, check whether the type of process is "object", and whether the type of require is "function" ".

  • The environment is node.js only if both conditions are true environment.

  • For Service Worker Environment, we check if the type of the imported script is equal to "function". When it is equal to a function, then only that environment is a service worker thread environment.

Syntax

The following is the syntax to check the runtime environment -

// 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

  • 1st Step - First we check if the runtime environment is Node.js. If true, the correct message is displayed.
  • Step 2 - Next we check if the current runtime environment is a Service Worker. If true, the correct message is displayed.
  • Step 3 - Finally we check if the runtime environment is a browser. If true, the correct message is displayed.

Example

We can use the following code to check the runtime environment of the program.

<!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>

After clicking the "Check Runtime Environment" button, the screen will show you the output based on the environment in which the program is running.

This feature of JavaScript allows you to write code in any environment and run it in any other different environment, especially in a web browser, while using web pages that run only in a web browser.

Note- The method type used here will give us the data type of the variable, function or method just like it would be in string, number, object, function or any other type of data Type provides the same output.

The above is the detailed content of How to check which browser the current running environment is in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete