搜尋

首頁  >  問答  >  主體

chrome - javascript如何知道瀏覽器是否已經停用confirm

呼叫瀏覽器的confirm時彈出確認框之後選擇停用,當程式碼再次呼叫confirm方法時還是會回傳false,js能否知道瀏覽器的confirm已經被停用。

#
世界只因有你世界只因有你2827 天前1058

全部回覆(2)我來回復

  • 怪我咯

    怪我咯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弹窗');
    }

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:45:16

    無法知道。

    建議用自己寫對話框代替。

    Never Use a Warning When you Mean Undo

    回覆
    0
  • 取消回覆