【发布时间】:2021-07-22 17:30:44
【问题描述】:
我正在尝试使用 Web OTP API 的自动填充功能。在移动设备中,在测试它时,我会弹出一个允许读取 OTP 的窗口,但是在允许它不会填充 OTP 字段之后。在控制台中,我收到请求超时错误。有人对此有任何想法吗?这真的很有帮助。 以下是我编写的代码(react app):-
console.log("otp credential in window");
//window.addEventListener('DOMContentLoaded', e => {
const input = document.querySelector('input[autocomplete="one-time-code"]');
console.log("input is ", input);
if (!input) return;
const ac = new AbortController();
console.log("before form");
const form = input.closest('form');
if (form) {
console.log("inside if form ");
form.addEventListener('submit', e => {
ac.abort();
});
}
navigator.credentials.get({
otp: { transport:['sms'] },
signal: ac.signal
}).then(otp => {
console.log("promise resolved");
input.value = otp.code;
if (form) form.submit();
}).catch(err => {
console.log(err);
});
// });
}
【问题讨论】:
标签: javascript google-chrome one-time-password