呼叫瀏覽器的confirm時(shí)彈出確認(rèn)框之後選擇停用,當(dāng)程式碼再次呼叫confirm方法時(shí)還是會回傳false,js能否知道瀏覽器的confirm已經(jīng)被停用。
沒有想到優(yōu)美的解決方案。
有個(gè)討巧的方式:如果使用者選擇了停用,那麼在呼叫這個(gè)方法的時(shí)候,不會阻塞程式碼,會立刻執(zhí)行下段程式碼。我們可以設(shè)定個(gè)計(jì)時(shí)器,時(shí)間在毫秒結(jié)束,就表示客戶端阻止了彈跳窗。
var begin = Date.now();
//如果客戶端沒有禁用confirm,那么這個(gè)彈窗會阻塞代碼繼續(xù)往下執(zhí)行,直到用戶點(diǎn)了確認(rèn)或取消,
// 那么end與start之間的值就會比較大了。
//反之,end與start之間的值就非常小了,毫秒級。
var result = window.confirm('hello');
var end = Date.now();
if (end - begin < 10) {
console.log('用戶禁用了confirm彈窗');
}
無法知道。
建議用自己寫對話框代替。
Never Use a Warning When you Mean Undo