Rumah > Artikel > hujung hadapan web > 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.
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. 一段代码是不是浏览器没有直接的方法。因此,要检查运行时环境,我们必须设置一些条件来匹配每个环境,并检查我们的代码在哪个环境中运行。
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.
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>
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.
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"
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!