Sử dụng Javascript (hoặc Ajax) Tôi muốn kết nối với một trang (trang .php) cứ 10 giây một lần. Điều này sẽ được thực hiện ở phía người dùng (trình duyệt) trong một trang web. Chỉ cần, tôi đang cố gắng để xem những người dùng trực tuyến. Tôi có khoảng 1-2 khách truy cập hàng ngày, trong trang web cá nhân của tôi.cố gắng mở trang 10 giây một lần
Trả lời
Sử dụng jQuery 's phương pháp $.post()
:
setInterval(function(){
$.post("getCount.php", function(result) {
// do something with result
}, "html");
}, 10000);
Tôi giả sử bạn có một lý do chính đáng để truy vấn kịch bản địa phương của bạn. Nếu bạn muốn biết thông tin chi tiết về ai đang truy cập trang web của bạn, khi nào và từ môi trường nào (máy, trình duyệt, v.v.), tôi khuyên bạn nên xem xét việc triển khai một cái gì đó như Google Analytics.
Javascript này sẽ đọc trang usersonline.php cứ sau 10 giây và đặt nội dung lên trang web hiện tại.
<html>
<head>
<script>
var xmlrequest;
function gotnewdata()
{
if(xmlrequest.readyState == 4)
{
document.getElementById("output").innerHTML = xmlrequest.responseText;
setTimeout("loadpage();", 10000);
}
}
function loadpage()
{
xmlrequest = new XMLHttpRequest();
xmlrequest.open("GET", "usersonline.php", true);
xmlrequest.onreadystatechange = gotnewdata;
xmlrequest.send(null);
}
</script>
</head>
<body onload="loadpage();">
<h1>My Page</h1>
<p>USERS ONLINE:</p><p id="output"></p>
</body></html>
Có ba vấn đề với điều này. 1) Tệp đính kèm sự kiện nội tuyến là biểu mẫu không đúng và có vấn đề, 2) chuyển một hàm thực tế tới 'setTimeout' thay vì một chuỗi là thích hợp hơn vì nó không liên quan đến một eval ngầm định và 3) điều này không hoạt động trong IE kể từ 'XMLHttpRequest' không tồn tại trong môi trường đó. –
<html>
<body>
<form target='userCountFrame' action='http://www.google.com'></form>
<iframe name='userCountFrame'></iframe>
<script>
setInterval(function(){
document.getElementsByTagName('form')[0].submit();
}, 10 * 60 * 1000);
</script>
</body>
</html>
thay đổi url cho phù hợp, tiết kiệm các mã trên như count.html trên desktop của bạn, và mở nó bằng Firefox
- 1. cố gắng mở lại một đối tượng đã đóng: SQLiteDatabase
- 2. Cố gắng mở lại một đối tượng đã đóng: java.lang.IllegalStateException :?
- 3. Cố gắng thổi phồng một trang xem tùy chỉnh android
- 4. Capybara-webkit cố gắng mở example.com
- 5. Express và AngularJS - trang web bị đóng băng khi cố gắng mở trang chủ
- 6. Cố gắng hiểu CMTime và CMTimeMake
- 7. Cố gắng lấy một số trong một mảng gấp hai lần số trung bình
- 8. đóng băng Android trong OpenGL | ES (.. CPU có thể được cố định cố gắng một lần nữa)
- 9. Cố gắng thêm 3 ngày trong mili giây vào ngày hiện tại
- 10. Cách tăng thêm 10 lần chèn mỗi giây với bảng lưu trữ azure
- 11. Cách tải lại JSON bằng AJAX cứ sau 10 giây
- 12. Cố gắng tạo hiệu ứng đồng thời hai UIViews, chỉ một lần di chuyển
- 13. Cố gắng tránh AppDomains
- 14. Cố gắng mở thẻ SELECT trong Android WebView gặp sự cố
- 15. Đang cố gắng đưa javascript vào trang của tôi
- 16. Xác nhận chéo 10 lần
- 17. Bash: Quyền bị từ chối khi cố gắng mở một tập tin
- 18. Lỗi xác minh khi cố gắng chuyển ứng dụng Android sang BlackBerry 10
- 19. Hãy thử-catch-cuối cùng và sau đó một lần nữa cố gắng nắm bắt
- 20. Lặp lại chức năng vài giây một lần
- 21. Nagios: CRITICAL - Hết thời gian chờ sau 10 giây
- 22. blur.js đang cố gắng yêu cầu "không" và div không mở rộng 100%
- 23. Python 2.5.2: cố gắng mở các file một cách đệ quy
- 24. java.lang.IllegalStateException: cố gắng mở lại một đối tượng đã kín: android.database.sqlite.SQLiteQuery
- 25. cố gắng tìm một trình tạo số ngẫu nhiên
- 26. Cố gắng hiểu về DependencyProperty
- 27. phân tầng 10 lần cross validation
- 28. chức năng mở() treo (không bao giờ trả về) khi cố gắng mở cổng nối tiếp trong Mac OS X
- 29. Nhấn enter hoặc đợi 10 giây để tiếp tục
- 30. hiển thị dữ liệu sau mỗi 10 giây trong Android
Hãy nhìn vào http://www.google.com/analytics/ – kgiannakakis