2011-01-06 36 views
6

Tôi đã có một sự kiện onbeforeunload hoạt động bật lên một hộp thoại cảnh báo người dùng về các thay đổi chưa lưu đối với biểu mẫu khi họ điều hướng.Tùy chỉnh hộp thoại onbeforeunload

window.onbeforeunload = function() { 
    return 'You have unsaved changes.'; 
}; 

Làm cách nào để tùy chỉnh hộp thoại hiển thị để thân thiện với người dùng hơn một chút. Ngay bây giờ nó khá khó sử dụng:

"Bạn có chắc chắn bạn muốn rời khỏi trang này

Bạn có thay đổi chưa được lưu

Bấm OK để tiếp tục, hoặc Huỷ để ở lại trên trang hiện tại?.. "

Tôi nhận thấy rằng Stack Overflow có phần mềm sạch hơn nhiều: "Bạn đã bắt đầu viết hoặc chỉnh sửa bài đăng" và các nút nói "Ở lại trang này", "Rời khỏi trang này" thay vì chung "Hủy" và "OK". Làm thế nào tôi có thể làm điều đó?

Tôi đang sử dụng jQuery, nếu cần thiết cho giải pháp.

Trả lời

5

Trình duyệt không cho phép bạn tùy chỉnh hộp này. Lý do duy nhất nó trông khác trên SO là vì bạn đang sử dụng một trình duyệt khác khi bạn truy cập nó. Google Chrome sử dụng các nút có nhãn 'Lưu lại trang này' và 'Rời khỏi trang này'. Dựa trên văn bản ví dụ bạn đã đăng, có vẻ như bạn đã kiểm tra trình xử lý onbeforeunload bằng Internet Explorer.

+1

Ah, bạn nói đúng. Tôi rất quen với việc có Chrome trên một màn hình và Firefox khác mà tôi hoàn toàn bỏ lỡ điều này. Một điểm nữa đối với Chrome trong ứng dụng này. – keithjgrant

+0

Mọi cập nhật mới nhất về thay đổi nhãn? Xin vui lòng cập nhật tôi. – Karthik

Các vấn đề liên quan