Heim > Fragen und Antworten > Hauptteil
Wenn Sie die Bestätigungsmethode des Browsers aufrufen, wird ein Bestätigungsfeld angezeigt, und Sie entscheiden sich für die Deaktivierung. Wenn der Code die Bestätigungsmethode erneut aufruft, wird weiterhin „false“ zurückgegeben. Kann js wissen, dass die Bestätigungsmethode des Browsers deaktiviert wurde?
怪我咯2017-05-19 10:45:16
没有想到优美的解决方案。
有个讨巧的方式:如果用户选择了禁用,那么在调用这个方法的时候,不会阻塞代码,会立刻执行下段代码。我们可以设置个计时器,时间在毫秒级结束,就说明客户端阻止了弹窗。
var begin = Date.now();
//如果客户端没有禁用confirm,那么这个弹窗会阻塞代码继续往下执行,直到用户点了确认或取消,
// 那么end与start之间的值就会比较大了。
//反之,end与start之间的值就非常小了,毫秒级。
var result = window.confirm('hello');
var end = Date.now();
if (end - begin < 10) {
console.log('用户禁用了confirm弹窗');
}