📜  如何在 JavaScript 中检查当前运行环境是浏览器?

📅  最后修改于: 2022-05-13 01:56:41.404000             🧑  作者: Mango

如何在 JavaScript 中检查当前运行环境是浏览器?

在本文中,我们将了解如何检测 JavaScript 代码运行的运行时环境。假设您正在 Node.js 中构建应用程序,并且需要将该代码包含在将在浏览器上运行的网页中。这将导致 Node 应用程序的某些功能无法在浏览器上运行,反之亦然。

方法:没有函数、方法或属性来检测运行环境是否是浏览器,但是,我们可以做一些检查来识别脚本是否在浏览器中运行。 JavaScript 代码可以运行的一些环境是 Node.js、Service Workers 或 Web 浏览器。

每种环境都有不同的条件。我们将创建一个函数,该函数将返回一个布尔值,指示环境是否为浏览器。在这个函数中,

  • 我们首先检查进程是否属于“object”类型,并且require的类型是否是使用typeof运算符的函数。当两个条件都为真时,环境是 Node.js,因此我们返回假。
  • 我们同样通过检查importScripts的类型是否为函数来检查环境是否为服务工作者。如果条件匹配,我们再次返回 false。
  • 最后,我们检查窗口的类型是否等于“对象”。 true 条件表示环境是浏览器,我们从函数返回 true。

句法:

function isBrowser() {

    // Check if the environment is Node.js
    if (typeof process === "object" &&
        typeof require === "function") {
        return false;
    }

    // Check if the environment is a
    // Service worker
    if (typeof importScripts === "function") {
        return false;
    }

    // Check if the environment is a Browser
    if (typeof window === "object") {
        return true;
    }
}

例子:

HTML


  

    

Hello Geeks

          


输出: