在 Chrome 中,有时会出现用户凭据弹出窗口(智能锁定/凭据管理)。当智能锁弹出窗口出现时,用户可以单击“取消”或“X”来取消此模式。
问题:我怎样才能检测到这个取消按钮点击?
看图片
这很接近,但无凭据+用户关闭窗口(主动)之间没有区别
参考资料: https ://w3c.github.io/webappsec-credential-management/
在 Chrome 中,有时会出现用户凭据弹出窗口(智能锁定/凭据管理)。当智能锁弹出窗口出现时,用户可以单击“取消”或“X”来取消此模式。
问题:我怎样才能检测到这个取消按钮点击?
看图片
这很接近,但无凭据+用户关闭窗口(主动)之间没有区别
参考资料: https ://w3c.github.io/webappsec-credential-management/
简单,但可以工作
添加 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 毫秒之间将鼠标移到取消按钮并单击 ...。 ..对于普通人