Chrome凭据/智能锁弹出:检测取消/解除的事件(而不是没有凭据)

时间:2016-09-29 13:22:18

标签: javascript google-chrome google-smartlockpasswords

Chrome中的

有时会出现用户凭据弹出窗口(智能锁定/凭据管理)。当智能锁弹出出现时,用户可以单击“取消”或“X”取消此模式。

问题:如何检测此取消按钮点击?

见图片

enter image description here

这很接近,但没有凭证+用户被解雇的窗口(主动)没有区别

enter image description here

参考文献: https://w3c.github.io/webappsec-credential-management/

1 个答案:

答案 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 ...对于一般人类