Tôi cần cảnh báo người dùng về những thay đổi chưa được lưu trước khi họ rời khỏi một trang (một vấn đề khá phổ biến).
window.onbeforeunload=handler
Điều này hoạt động nhưng nó làm tăng một hộp thoại mặc định với một thông điệp tiêu chuẩn gây khó chịu bao bọc văn bản của riêng tôi. Tôi cần phải thay thế hoàn toàn thông điệp tiêu chuẩn, để văn bản của tôi rõ ràng hoặc (thậm chí tốt hơn) thay thế toàn bộ hộp thoại bằng hộp thoại phương thức bằng jQuery.
Cho đến nay tôi đã thất bại và tôi không tìm thấy ai khác dường như có câu trả lời. Nó thậm chí có thể?
Javascript trong trang của tôi:
<script type="text/javascript">
window.onbeforeunload=closeIt;
</script>
Hàm closeIt ():
function closeIt()
{
if (changes == "true" || files == "true")
{
return "Here you can append a custom message to the default dialog.";
}
}
Sử dụng jQuery và jqModal Tôi đã thử loại điều này (sử dụng hộp thoại xác nhận tùy chỉnh):
$(window).beforeunload(function() {
confirm('new message: ' + this.href + ' !', this.href);
return false;
});
mà cũng không hoạt động - tôi dường như không thể liên kết với sự kiện trước khi tải.