Rumah >hujung hadapan web >tutorial js >Bagaimana untuk menyemak pelayar mana persekitaran berjalan semasa dalam JavaScript?

Bagaimana untuk menyemak pelayar mana persekitaran berjalan semasa dalam JavaScript?

王林
王林ke hadapan
2023-09-04 19:37:021340semak imbas

Bagaimana untuk menyemak pelayar mana persekitaran berjalan semasa dalam JavaScript?

Persekitaran runtime ialah persekitaran di mana kod dilaksanakan. Ia memberitahu kod anda objek global yang boleh diakses dan turut mempengaruhi keputusannya. Kod JavaScript boleh dijalankan dalam pelbagai jenis persekitaran, beberapa daripadanya ialah Node.js, Pekerja Perkhidmatan atau penyemak imbas web. Jadi, untuk memulakan pengekodan dengan JavaScript, anda tidak perlu memasang sebarang perisian tambahan. Setiap pelayar web dilengkapi dengan enjin JavaScript. Anda hanya boleh menjalankan skrip yang anda tulis dalam mana-mana penyemak imbas, tetapi ia memastikan ia mematuhi semua peraturan fungsi ECMAScript (ES6).

Di sini kami akan mengesan persekitaran masa jalan yang dijalankan oleh kod kami. Kod JavaScript yang ditulis dalam Node.js juga boleh dijalankan dalam mana-mana persekitaran, sama ada persekitaran penyemak imbas, persekitaran Pekerja Perkhidmatan atau persekitaran Node.js itu sendiri. Apabila menjalankan kod dalam persekitaran yang berbeza, anda perlu memadankan semua keperluan persekitaran itu.

Semak sama ada persekitaran masa jalan ialah penyemak imbas

Tiada cara langsung untuk menyemak sama ada persekitaran masa jalan ialah penyemak imbas sekeping kod. Jadi, untuk menyemak persekitaran masa jalan, kita perlu menetapkan beberapa syarat untuk dipadankan dengan setiap persekitaran dan menyemak persekitaran mana kod kita sedang berjalan. 一段代码是不是浏览器没有直接的方法。因此,要检查运行时环境,我们必须设置一些条件来匹配每个环境,并检查我们的代码在哪个环境中运行。

Syntax

Berikut ialah sintaks untuk menyemak sama ada persekitaran yang sedang berjalan ialah penyemak imbas -

type of window === "object"

Jika pernyataan di atas kembali benar, persekitaran yang sedang berjalan ialah penyemak imbas, jika tidak, ia tidak.

Algoritma

  • Langkah 1 - Semak keadaan jenis tetingkap === "objek".
  • LANGKAH 2 - Jika benar dikembalikan, mesej dipaparkan kerana persekitaran masa jalan semasa ialah tetingkap.
  • LANGKAH 2 - Jika palsu dikembalikan, mesej dipaparkan kerana persekitaran masa jalan semasa bukan tetingkap.

Contoh

Dalam contoh di bawah, kami menyemak sama ada persekitaran yang sedang dijalankan ialah penyemak imbas.

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

Semak persekitaran masa jalan yang berbeza

Setiap persekitaran mempunyai keadaan yang berbeza.

  • Untuk persekitaran penyemak imbas, jenis tetingkap hendaklah sama dengan "objek".

  • Untuk node.js environment, kita kena semak 2 syarat dulu ialah semak sama ada jenis proses adalah "objek" dan jika jenis require ialah "fungsi".

  • Hanya jika kedua-dua syarat adalah benar, persekitaran adalah node.js Persekitaran .

  • Untuk Persekitaran Pekerja Perkhidmatan, kami menyemak sama ada jenis skrip yang diimport adalah sama dengan "fungsi" dan apabila ia sama dengan fungsi, maka hanya persekitaran itu adalah persekitaran pekerja perkhidmatan.

Syntax

Berikut ialah sintaks untuk menyemak persekitaran runtime -

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

  • Langkah 1 - Mula-mula kita semak sama ada persekitaran runtime ialah Node.js Jika benar, mesej yang betul dipaparkan.
  • Langkah 2 - Seterusnya kami menyemak sama ada persekitaran masa jalan semasa ialah Pekerja Perkhidmatan. Jika benar, mesej yang betul dipaparkan.
  • Langkah 3 - Akhirnya kami menyemak sama ada persekitaran masa jalan ialah pelayar. Jika benar, mesej yang betul dipaparkan.

Contoh

Kita boleh menggunakan kod berikut untuk menyemak persekitaran masa jalan 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>

Selepas mengklik butang "Semak Persekitaran Masa Jalan", skrin akan menunjukkan kepada anda output berdasarkan persekitaran di mana program sedang berjalan.

Ciri JavaScript ini membolehkan anda menulis kod dalam mana-mana persekitaran dan menjalankannya dalam mana-mana persekitaran lain yang berbeza, terutamanya dalam penyemak imbas web semasa menggunakan halaman web yang dijalankan hanya dalam penyemak imbas web.

Nota - Jenis kaedah yang digunakan di sini akan memberikan kita jenis data pembolehubah, fungsi atau kaedah sama seperti ia memberikan output dalam rentetan, nombor, objek, fungsi atau apa-apa jenis jenis data lain.

Atas ialah kandungan terperinci Bagaimana untuk menyemak pelayar mana persekitaran berjalan semasa dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam