呼叫瀏覽器的confirm時彈出確認框之後選擇停用,當程式碼再次呼叫confirm方法時還是會回傳false,js能否知道瀏覽器的confirm已經被停用。
怪我咯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弹窗');
}