Có thể tạo thông báo phương thức tùy chỉnh 'chặn' việc thực thi tập lệnh cho đến khi người dùng nhập không?
Không. Không có cách nào để chặn thực thi hoặc tương tác người dùng hiệu quả như cửa sổ bật lên gốc (vì cửa sổ bật lên tùy chỉnh người dùng luôn có khả năng sử dụng công cụ dành cho nhà phát triển để thoát khỏi công cụ này).
Tuy nhiên, như pst cho biết trong các nhận xét về câu hỏi, hộp đèn không đồng bộ không phù hợp và gần như có hiệu quả trong việc chặn tương tác người dùng làm cửa sổ bật lên, vì vậy tôi khuyên bạn nên tìm một thư viện cung cấp hộp đèn bạn thích và chạy với cái đó.
Ví dụ: làm thế nào bạn có thể đạt được điều này mà không cần sử dụng chức năng cảnh báo/nhắc cửa sổ gốc?
Bạn không thể sử dụng đoạn mã đó để làm những gì bạn nói nó thậm chí với cửa sổ tự nhiên cảnh báo/chức năng nhắc sẽ (xem this fiddle - chờ 4 giây trước khi đóng cửa sổ popup). Bạn sẽ cần những điều sau đây:
function timeoutFunction() {
alert('Click OK to Continue'); // timing ACTUALLY stops until user hits ok
setTimeout(timeoutFunction, 4000);
}
setTimeout(timeoutFunction,4000);
Điều gì đó bạn không thể thực hiện (chính xác - xem ở trên trên hộp đèn) mà không có quảng cáo gốc.
Ngay cả while(true)
vòng thường không chặn cũng như cửa sổ bật lên - firefox ít nhất có thông báo "dừng tập lệnh" bật lên sau khi quá dài và tôi cũng chắc chắn các trình duyệt chính khác cũng vậy.
Thật không may, không có. Không có cách nào để thêm phương pháp chặn của riêng bạn, vì lý do bảo mật. –
@EliGassert "Thật không may"? Lựa chọn số lẻ của các từ ;-) –
@pst không may, bởi vì nó sẽ làm cho cuộc sống dễ dàng hơn cho các webdev để tạo các hộp thoại chặn "đẹp". Nhưng tôi đoán nó là may mắn vì nó sẽ rất dễ dàng để lạm dụng :) –