javascript 我得到了这个响应,但无法识别问题-“Uncaught(in promise)TypeError:navigator.getGamepads不是函数”

n53p2ov0  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(152)

我是JavaScript的新手,所以真的不知道该去哪里。下面是一开始就福尔斯的代码。

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)
    }
}

字符串
我在谷歌上寻求帮助,但没有找到解决办法。出现的错误是:“Uncaught(in promise)TypeError:navigator.getGamepads不是函数”
我不知道这是否相关,但我正在使用Windows 10和Firefox。

a8jjtwal

a8jjtwal1#

根据the MDN docs on this function,Firefox需要secure context才能使用它。这意味着您需要从自己的计算机或通过HTTPS运行网页。您现在也可以使用其他浏览器,如Chrome或Edge,尽管它们将来可能也需要安全的上下文。

相关问题