javascript - 如何在 ReactJS 中正确使用 USParser() 来获取我的计算机 CPU?

标签 javascript reactjs

我对 JavaScript 相当陌生,最近从 https://github.com/faisalman/ua-parser-js 安装了 UAParser-JS进入我的 ReactJS 项目,并试图找出如何正确地从我的计算机获取 CPU 架构(例如:“amd64”)以显示在我的应用程序的控制台中。

"ua-parser-js": "^0.7.20"显示在我的 package.json 中,因此它似乎已正确安装。我已经查看了他们的 github 存储库的示例,并多次使用了代码,但到目前为止还没有成功。不幸的是,我似乎无法在网上找到任何其他示例。他们似乎有一个带有 {{src="ua-parser.min.js"}} 的标签,并且不确定这是否是导致不成功的原因。

这是他们网站上代码的顶部部分,您可以看到 CPU 架构打印在底部。

<!doctype html>
<html>
<head>
<script type="text/javascript" src="ua-parser.min.js"></script>
<script type="text/javascript">

    var parser = new UAParser();

// by default it takes ua string from current browser's //window.navigator.userAgent

    console.log(parser.getResult());
    /*
        /// this will print an object structured like this:
        {
            ua: "",
            browser: {
                name: "",
                version: ""
            },
            engine: {
                name: "",
                version: ""
            },
            os: {
                name: "",
                version: ""
            },
            device: {
                model: "",
                type: "",
                vendor: ""
            },
            cpu: {
                architecture: ""
            }
        }
    */

    // let's test a custom user-agent string as an example
    var uastring = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2";
    parser.setUA(uastring);

    var result = parser.getResult();
    // this will also produce the same result (without instantiation):
    // var result = UAParser(uastring);

    console.log(result.browser);        // {name: "Chromium", version: "15.0.874.106"}
    console.log(result.device);         // {model: undefined, type: undefined, vendor: undefined}
    console.log(result.os);             // {name: "Ubuntu", version: "11.10"}
    console.log(result.os.version);     // "11.10"
    console.log(result.engine.name);    // "WebKit"
    console.log(result.cpu.architecture);   // "amd64"

以最简单的形式,我得到“UAParser”未定义,并且不明白我在做什么与 github 页面上的示例不同。

  let parser = new UAParser();

  console.log(parser.getResult());

我希望看到我的 CPU 架构,但“UAParser”未定义。

最佳答案

我能够像这样导入 UAParser:import { UAParser } from 'ua-parser-js'; 现在代码可以正常工作了。

关于javascript - 如何在 ReactJS 中正确使用 USParser() 来获取我的计算机 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170333/

相关文章:

javascript - 在实例化 Controller 之前未解析 JSON 对象

javascript - iframe src 属性随参数变化

javascript - 根据屏幕分辨率显示自定义背景图像

reactjs - 如何处理 redux saga 中的请求数组

javascript - 如何使用 HOC 仅渲染 React 中具有特定 prop 的子项

javascript - 根据浏览器运行不同的 JavaScript

javascript - Ajax 调用在 IE 和 Chrome 中有效(并且仅在 Firefox 中在 ajax 调用结束时在 Debug模式下添加断点时有效)

javascript - 如何在 React 中触发 onBlur 事件?

javascript - 为什么单击更改状态且与 ajax 调用无关的选项卡会创建该 ajax 调用?

javascript - React-Redux - 如何在应用程序状态内设置字段?