Tôi có một Ứng dụng web chạy trên bộ điều khiển (Xử lý hạn chế, bộ nhớ và băng thông mạng). Trang này về cơ bản là một tệp HTML đơn giản có đầy đủ các đèn LED cần được cập nhật trong một khoảng thời gian. Trên mỗi khoảng thời gian, Javascript gửi một yêu cầu Ajax đến máy chủ và cập nhật tất cả các đèn LED dựa trên trả lời. Bây giờ điều này hoạt động tốt!Chỉ chạy các cuộc gọi Javascript Ajax khi trang đang được xem
Sự cố là khi người dùng mở một trong các trang này và bắt đầu duyệt nội dung khác. Vì lý do bảo mật và kinh tế, chúng tôi không muốn cập nhật trang khi khách hàng không nhìn thấy trang này. Đây là thuật toán:
tôi phát triển mã kiểm tra nhỏ này để xem cách các sự kiện trang làm việc (see live on jsFiddle):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function m(msg){
document.getElementById("logplace").innerHTML+=msg+"<br/>";
}
</script>
</head>
<body onblur="m('Blur')" onerror="m('Error')" onfocus="m('Focus')" onload="m('Load')" onresize="m('Resize')" onunload="m('Unload')">
<span id="logplace"></span>
</body>
</html>
tôi cần phải trang được chỉ cập nhật nếu người dùng hiện đang xem nó. Tôi đã tìm kiếm các Stackoverflow và các chủ đề sau đây dường như không có câu trả lời:
- Keep track of which tab was being viewed when page is refreshed
- How to run multiple ajax calls on one page
- Function repeating when page not being viewed
PS. JQuery tồn tại trên máy chủ. Nhưng nếu có một cách đơn giản hơn, tôi không muốn sử dụng JQuery.
Không hỏi đúng câu hỏi. Trang này đang được xem có phải là bit chính không. Câu trả lời là khác nhau và có khả năng iffy mặc dù. Thử http://stackoverflow.com/questions/354718/detect-which-form-input-has-focus-using-javascript-or-jquery –
Câu hỏi từ liên kết của bạn là về yếu tố trang có tiêu điểm. Tôi hỏi về toàn bộ trang đang được xem hay không. – AlexStack
Trang là một yếu tố, do đó cùng một loại vấn đề .... –