我是新手,所以不知道该go 哪里.下面是一开始就出错的代码.

async function updateControls() {
    const gamepad = navigator.getGamepads()[0];

    if (gamepad != undefined) {

        gpConf.buttons.padUp = gamepad.buttons[12].value
        gpConf.buttons.padDown = gamepad.buttons[13].value
        gpConf.buttons.padLeft = gamepad.buttons[14].value
        gpConf.buttons.padRight = gamepad.buttons[15].value

        //setting axes
        gamepad.axes.forEach((value, index) => {
            gpControls.axes[index] = exponentiate(value)
        });

        //setting paddles
        gpControls.paddles.left = Number(gamepad.buttons[6].value.toFixed(3))
        gpControls.paddles.right = Number(gamepad.buttons[7].value.toFixed(3))
        gpControls.buttons.L1 = gamepad.buttons[4].value
        gpControls.buttons.R1 = gamepad.buttons[5].value
        gpControls.buttons.square = gamepad.buttons[2].value
        gpControls.buttons.triangle = gamepad.buttons[3].value

        setTimeout(() => {
            updateControls();
        }, 100);


        dispatch('car-control', gpControls)
        dispatch('car-conf', gpConf)
    }
}

我已经在谷歌上寻求帮助,但还没有找到解决方案.出现的错误是: "unauture(In Promise)TypeError:Navigator.getGamepads不是一个函数"

我不知道这是否相关,但我正在使用Windows 10和Firefox.

推荐答案

根据the MDN docs on this function的说法, firefox 需要secure context才能使用它.这意味着你要么需要在自己的电脑上运行网页,要么通过HTTPS运行.你现在也可以使用其他浏览器,如Chrome或Edge,尽管它们在future 可能也需要安全的环境.

Javascript相关问答推荐

我可以获取所有包含@的超链接,然后在新选项卡中打开它们吗?

复合密钥查找在mongoDB中未按预期工作

Fastify错误:CORS策略已阻止从起源api-dev.example.com上的MLhttp请求

如何避免使用ajax在Vue 3合成API中重定向

如何解决这个未能在响应上执行json:body stream已读问题?

TypScript界面中的Infer React子props

在页面上滚动 timeshift 动垂直滚动条

判断表格单元格中是否存在文本框

在观察框架中搜索CSV数据

如何添加绘图条形图图例单击角形事件

PDF工具包阿拉伯字体的反转数字

我可以使用空手道用户界面来获取网页的当前滚动位置吗?

使用领域Web SDK的Vite+Vue应用程序中的Web程序集(WASM)错误

在使用REACT更改了CSS类之后,无法更改CSS样式

如果一个字符串前面有点、空格或无字符串,后面有空格、连字符或无字符串,则匹配正则表达式

是否可以将Select()和Sample()与Mongoose结合使用?

如何使用<;Link>;执行与JS Reaction中的";window.Location=/GameOverDied;";类似的操作?

警告框不显示包含HTML输入字段的总和

如何在独立的Angular 应用程序中添加Lucide-Angel?

为什么NULL不能在构造函数的.Prototype中工作