2012-08-20 9 views
14

Làm cách nào tôi có thể làm mới trang cho mỗi phút bằng javascript. Lưu ý: Tôi không có quyền kiểm soát/tùy chọn để chỉnh sửa thẻ body HTML (nơi chúng tôi thường gọi hàm onload).Làm mới trang cho khoảng thời gian bằng cách sử dụng js

+2

tôi hy vọng đây là một loại chỉ đọc của trang, nếu không người dùng có thể nhận được khá khó chịu. – jbabey

Trả lời

25

Chỉ cần chèn mã này bất cứ nơi nào trong trang:

<script type="text/javascript"> 
    setTimeout(function(){ 
    location = '' 
    },60000) 
</script> 
+0

Điều gì xảy ra nếu tôi chỉ muốn có tác phẩm này trên một URL cụ thể. Tôi yêu cầu tôi muốn sử dụng điều này trên một trang MediaWiki cho bản thân mình trên Special: MyPage/common.js để chỉ làm mới khi tôi đang ngồi trên Special: Watchlist đang chờ phản hồi. – ShoeMaker

+0

Có thể bạn có thể làm điều gì đó như 'if (location == 'url của bạn') {setTimeout (..., 60000)}' – Abraham

16
<script type="text/javascript"> 
    setTimeout(function() { 
     location.reload(); 
    }, 60 * 1000); 
</script> 

setTimeout sẽ reload trang sau khi một số quy định của mili giây, do đó 60 * 1000 = 1m. Ngoài ra, vì trang đang được làm mới, thời gian chờ sẽ luôn được đặt trên tải trang.

+0

Nên thay đổi điều đó thành 'setTimeout'. Và nói với anh ta để đặt nó trong mã cho trang, không phải trong giao diện điều khiển hoặc một cái gì đó. –

+0

nếu trang đang tải lại, bạn sẽ không bao giờ bắn nhiều hơn một khoảng thời gian ... – jbabey

+0

@jbabey: Thật vậy, tôi đã cập nhật ví dụ của mình, cảm ơn. –

8

Bạn không cần phải có mã trong thẻ cơ thể. Chỉ cần thêm đoạn mã dưới đây và nó sẽ hoạt động bất kể nó ở đâu trong trang.

<script type="text/javascript"> 
    setInterval('window.location.reload()', 60000); 
</script> 

Miễn là bạn có thể truy cập HTML ở một số nơi và trình chỉnh sửa của bạn không lọc thẻ bạn nên sử dụng. Nếu trình soạn thảo của bạn có một vùng riêng cho mã JavaScript thì chỉ cần nhập dòng setInterval. :)

0

Khi URL của bạn có thông số, có vẻ như việc sử dụng location = '' không hoạt động trong IE8. Trang tải lại mà không có bất kỳ tham số nào.

Các mã sau đây làm việc cho tôi:

<script type="text/javascript"> 
    setTimeout(function(){ 
     window.location.href = window.location.href; 
    },10000) 
</script>