0

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

问题:我怎样才能检测到这个取消按钮点击?

看图片

在此处输入图像描述

这很接近,但无凭据+用户关闭窗口(主动)之间没有区别

在此处输入图像描述

参考资料: https ://w3c.github.io/webappsec-credential-management/

4

1 回答 1

0

简单,但可以工作

添加 var start = new Date(); 在你的逻辑之前

将此添加到您的 else 逻辑中

} else if (typeof cred === "undefined") {
    var end = new Date();
    // user clicked cancel becasue took longer than 100msecs
    if (+end >= (+start + 100)) {

我们无法区分用户取消 || 未找到凭据

假设您的 PC 相当快:如果 if 条件 typeof cred === "undefined" 在 100 毫秒内没有被调用,那么这必须是人类在 800-2000 毫秒之间将鼠标移到取消按钮并单击 ...。 ..对于普通人

于 2016-09-29T20:59:41.117 回答