javaScript window.crypto.getRandomvalues在safari浏览器中不工作

javaScript window.crypto.getRandomvalues在safari浏览器中不工作,javascript,Javascript,你能帮我解决我的问题吗。我使用了javaScript window.crypto.getRandomvalues函数,该函数在除safari web浏览器和我的safari浏览器版本5.1.7之外的所有浏览器中都有效。请找到我的密码 if ("crypto" in window && "getRandomValues" in crypto) rand = crypto.getRandomValues(new Uint8Array(1))[0] %

你能帮我解决我的问题吗。我使用了javaScript window.crypto.getRandomvalues函数,该函数在除safari web浏览器和我的safari浏览器版本5.1.7之外的所有浏览器中都有效。请找到我的密码

    if ("crypto" in window && "getRandomValues" in crypto) 
            rand = crypto.getRandomValues(new Uint8Array(1))[0] % 16|0;
        else rand = Math.random() * 16 | 0;
        return hexs[i === 19 ? rand & 0x3 | 0x8 : rand];
    })
请找到截图。这是我的错误: [屏幕截图][1]

基于:

作为参数给出的数组用随机数填充

这并不意味着它返回一个填充了随机数的数组。 因此,按如下方式更改代码:

if ("crypto" in window && "getRandomValues" in crypto){
  var arr = new Uint8Array(1);
  crypto.getRandomValues(arr)
  rand = arr[0] % 16|0;
}