Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t在Safari上运行函数_Javascript - Fatal编程技术网

Javascript Can';t在Safari上运行函数

Javascript Can';t在Safari上运行函数,javascript,Javascript,我有这个密码 var secondfactor = function (result) { console.log(window.u2f); window.u2f.sign(result.appId, result.challenge, [result], response => { console.log(response); axios.post("/api/v1/login

我有这个密码

    var secondfactor = function (result) {
        console.log(window.u2f);
            window.u2f.sign(result.appId, result.challenge, [result], response => {
                console.log(response);
                axios.post("/api/v1/loginu2f", { loginResponse: response })
                .then(result => {
                    if(result.data.error) {
                        console.log(result.data)
                    } else {
                        window.location.replace("/");
                    }
                });
                //console.log(response);
            });
    }

    ...

    var ajaxlogin = null;
    $('#formlogin').on('submit', function() {
        ...
        if (!hasError) {
            //we send the form to the api
            var formdata = $('#formlogin').serializeArray();

            if (ajaxlogin && ajaxlogin.abort) ajaxlogin.abort();
            ajaxlogin= $.ajax({
                type: "POST",
                url: "/api/login",
                data: formdata,
                cache: false,
                success: function (response) {
                    if (response.error) {
                        switch (response.error) {
                            case 'notfound' :
                                secondfactor(response.session)                    
                                break;
                            default:
                                $('#diverror').html('Une erreur s\'est produite, merci de réessayer ultérieurement.').show();                        
                        }
                    }
                    else {
                        //on redirige sur la page désirée car l'api nous a connecté
                        location.href='/';
                    }
                },
                failure: function (response) {                    
                   console.log('response');
                }
            });
        }
        return false;
    });
在Chrome上效果很好,但在safari上,函数
u2f.sign()
不执行,我首先在控制台日志中显示,该函数确实存在于u2f对象上:

但是如果我运行
console.log(window.u2f.sign())
我会得到
未定义的
,下图:

下面是chrome上
.sign()
方法的响应对象:


我做错了什么?

签名
返回什么?也许它没有返回任何东西?@Justinas它确实在chrome上返回了一个对象。我在chrome上添加了
.sign()
方法的响应chrome@Tschallacka其iOS版Safari,Safari MacOS只是版本13,是的,我有版本1313@Tschallacka兄弟,请正确阅读表格,Safari for MacOS从13.0开始支持U2F,以及13.3版iOS版Safari支持U2F