有时会出现用户凭据弹出窗口(智能锁定/凭据管理)。当智能锁弹出出现时,用户可以单击“取消”或“X”取消此模式。
问题:如何检测此取消按钮点击?
见图片
这很接近,但没有凭证+用户被解雇的窗口(主动)没有区别
参考文献: https://w3c.github.io/webappsec-credential-management/
答案 0 :(得分:0)
简单,但可以工作
add var start = new Date();在你的逻辑之前
将此添加到您的其他逻辑
} else if (typeof cred === "undefined") {
var end = new Date();
// user clicked cancel becasue took longer than 100msecs
if (+end >= (+start + 100)) {
我们无法区分用户取消||没有找到凭据
假设您的PC速度非常快:如果在100毫秒内没有调用if条件类型的信号===“未定义”那么这必须是一个人类在取消按钮的方式并且点击...在800之间2000 msecs ...对于一般人类