2012-06-19 72 views
5

thể trùng lặp:
Prevent any form of page refresh using jQuery/JavascriptNgăn chặn tài khoản để tải lại trang bằng jquery hoặc javascript

làm thế nào tôi có thể ngăn chặn người sử dụng để tải lại trang (refresh) html sử dụng javascript hoặc jquery.

sau khi tải trang lần đầu tiên, tôi muốn ngăn người dùng tải lại trang bằng cách nhấn F5 hoặc làm mới từ trình duyệt hoặc bằng bất kỳ cách nào.

Can i do that?

Lưu ý: tôi cố gắng window.onbeforeunload, nhưng tôi không biết làm thế nào để ngăn chặn sự kiện window.onload từ nó.

Bất kỳ trợ giúp nào?

+1

Trang SO khác này trả lời câu hỏi của bạn: http://stackoverflow.com/questions/3527041/prevent-any-form-of-page-refresh-using-jquery-javascript – C0deH4cker

+3

_ "sử dụng javascript hoặc jquery" _ - Lưu ý: nếu nó không thể được thực hiện với JS thì nó không thể được thực hiện với jQuery ... – nnnnnn

+0

tôi biết rằng nhưng tôi có nghĩa là nếu tôi có thể làm điều đó bằng jquery tôi tốt hơn cho tôi để làm điều đó bằng javascript –

Trả lời

6

Không, bạn không thể. Nếu người dùng muốn tải lại trang, bạn không thể chặn họ.

7

Đó là không thể để ngăn người dùng tải lại trang/đóng trang nếu người dùng muốn. Hai phương pháp mà bạn có thể sử dụng như sau:

Bạn có thể yêu cầu được xác nhận như thế này:

<script> 
window.onbeforeunload = function (e) { 
e = e || window.event; 

// For IE and Firefox prior to version 4 
if (e) { 
    e.returnValue = 'Sure?'; 
} 

// For Safari 
return 'Sure?'; 
}; 
</script> 

Đây là fiddle cho ở trên: http://jsfiddle.net/gopi1410/NujmL/

Bạn có thể preventDefault khi nhấn phím F5 bằng cách sử dụng:

document.onkeydown = function(event) { 
    if(window.event){ 
     event.preventDefault(); 
    } 
} 
+0

tôi thử câu trả lời của bạn, nhưng như tôi đã nói, vấn đề của tôi là tránh gọi windows.onload –

+0

@mbayloon Thats không thể, như đã đề cập trong cả hai câu trả lời ở trên. – gopi1410

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