Javascript 如何正确使用USParser()使我的计算机CPU处于ReactJS状态?

Javascript 如何正确使用USParser()使我的计算机CPU处于ReactJS状态?,javascript,reactjs,Javascript,Reactjs,我对JavaScript相当陌生,最近在我的ReactJS项目中安装了UAParser JS from,我正试图找出如何正确地从我的计算机获取CPU体系结构(例如:“amd64”)以显示在我的应用程序的控制台中 “ua parser js”:“^0.7.20”显示在my package.json中,因此它似乎已正确安装。我看了他们的github回购的例子,并对代码进行了大量的修改,但到目前为止都没有成功。不幸的是,我在网上似乎找不到任何其他例子。它们似乎有一个带有{{src=“ua parser

我对JavaScript相当陌生,最近在我的ReactJS项目中安装了UAParser JS from,我正试图找出如何正确地从我的计算机获取CPU体系结构(例如:“amd64”)以显示在我的应用程序的控制台中

“ua parser js”:“^0.7.20”显示在my 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"

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

只是复制粘贴在GitHub repo上的示例,以下是我得到的

var parser=new UAParser();
//默认情况下,它从当前浏览器的window.navigator.userAgent获取ua字符串
log(parser.getResult());
/*
///这将打印如下结构的对象:
{
ua:“,
浏览器:{
姓名:“,
版本:“”
},
发动机:{
姓名:“,
版本:“”
},
操作系统:{
姓名:“,
版本:“”
},
设备:{
型号:“,
类型:“,
卖主:“
},
中央处理器:{
建筑:“
}
}
*/
//让我们以测试自定义用户代理字符串为例
var uastring=“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/535.2(KHTML,类似Gecko)Ubuntu/11.10 Chrome/15.0.874.106 Chrome/15.0.874.106 Safari/535.2”;
setUA(uastring);
var result=parser.getResult();
//这也将产生相同的结果(无需实例化):
//var result=UAParser(uastring);
console.log(result.browser);//{名称:“铬”,版本:“15.0.874.106”}
console.log(result.device);//{模型:未定义,类型:未定义,供应商:未定义}
console.log(result.os);//{名称:“Ubuntu”,版本:“11.10”}
console.log(result.os.version);//"11.10"
console.log(result.engine.name);//“网络工具包”
console.log(result.cpu.architecture);//“amd64”
//做一些其他的测试
var uastring2=“Mozilla/5.0(兼容;Konqueror/4.1;OpenBSD)KHTML/4.1.4(类似Gecko)”;
console.log(parser.setUA(uastring2.getBrowser().name);//“康克勒”
console.log(parser.getOS());//{名称:“OpenBSD”,版本:未定义}
console.log(parser.getEngine());//{名称:“KHTML”,版本:“4.1.4”}
var uastring3='Mozilla/5.0(PlayBook;U;RIM平板电脑操作系统1.0.0;en-US)AppleWebKit/534.11(KHTML,类似Gecko)版本/7.1.0.7 Safari/534.11';
console.log(parser.setUA(uastring3.getDevice().model);//“剧本”
console.log(parser.getOS())/{name:“RIM平板电脑操作系统”,版本:“1.0.0”}
console.log(parser.getBrowser().name);//“Safari”

我能够像这样导入UAParser:从'ua parser js'导入{UAParser}现在代码正常工作。

我很感谢您的回复,我在VSCode中也做了同样的操作,得到的结果是“UAParser”未定义。不客气,我认为VSCode中的默认示例没有任何问题。您知道当我使用intel处理器时,为什么它会打印amd64吗?我尝试在UAParser()amd64中添加用户代理作为参数,这仅仅意味着您的计算机有一个64位处理器,通常他们使用x64,但它具有相同的含义,我认为它与脚本使用的转换有关,这是有意义的。我真的很感谢你的帮助。非常感谢你。
  let parser = new UAParser();

  console.log(parser.getResult());