2010-10-16 38 views
13

Có thể sử dụng javascript để xử lý sự kiện làm mới trang không? gì tôi muốn là nhận được thông báo nếu người dùng làm một trong những hành vi: TrangXử lý sự kiện trang làm mới với javascript

  • làm mới bằng cách nhấn F5
  • tab gần hoặc trình duyệt
  • nhập url mới rồi nhấn enter trên trình duyệt

để hiển thị thông báo cảnh báo?
Cảm ơn bạn trước!

Trả lời

22

Bạn không muốn làm mới, bạn muốn sự kiện onbeforeunload.

http://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx

Mẫu mã từ bài viết

<HTML> 
<head> 
<script> 
function closeIt() 
{ 
    return "Any string value here forces a dialog box to \n" + 
     "appear before closing the window."; 
} 
window.onbeforeunload = closeIt; 
</script> 
</head> 
<body> 
    <a href="http://www.microsoft.com">Click here to navigate to 
     www.microsoft.com</a> 
</body> 
</html> 
+2

nó không hoạt động trên chrome – Chetan

+1

Làm việc cho phiên bản Chrome gần đây ngay bây giờ :) –

+0

Không hoạt động trên phiên bản hiện tại của Chrome '60.0.3112.101 (Phiên bản chính thức) (64 bit) '. –

4

Gần nhất bạn có thể nhận được là sự kiện window.onbeforeunload:

window.onbeforeunload = function (e) { 
    var e = e || window.event; 

    // For IE and Firefox 
    if (e) { 
     e.returnValue = 'Leaving the page'; 
    } 

    // For Safari 
    return 'Leaving the page'; 
}; 

Điều quan trọng cần lưu ý rằng bạn cần phải trả lại một chuỗi từ chức năng này.

+0

Tôi khá chắc chắn rằng bạn không cần phải làm bất cứ điều gì với 'e.returnValue' cho IE/FF. Bạn chỉ cần trả về một chuỗi. –

+0

@MattBall - nó đề cập đến IE <8 và Firefox trước phiên bản 4. xem [tài liệu trên MDN] (https://developer.mozilla.org/en/DOM/window.onbeforeunload). –

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