tôi cố gắng sử dụng đối tượng EventSource với một ví dụ nhỏTôi không thể nhìn thấy sự kiện HTML5 EventSource với phương pháp onmessage trong Chrome
Khách hàng bên, tôi có trang này với kịch bản:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Welcome!</title>
</head>
<body>
<div id="result"></div>
<script type="text/javascript">
var sse = new EventSource('event-source.php');
sse.onmessage = function(event) {
console.log(event.data);
document.getElementById("result").innerHTML+=event.data + "<br>";
}
sse.onerror = function(event) {
console.log(event);
}
</script>
</body>
</html>
kịch bản gọi sự kiện nguồn .php trên máy chủ. Đây là event-source.php:
<?php
header('Content-type: text/event-stream');
echo 'data: '.time().PHP_EOL;
Khi tôi thử cấu hình này trên Firefox, phương thức "onmessage" cũng được gọi, nhưng không phải với Chrome. Khi tôi đặt "onerror" phương pháp, có vẻ như nó được gọi là nhưng tôi không thể thấy nguyên nhân lỗi.
Tôi nên làm gì?
thử nó trong chrome phiên bản 22, nó làm việc. – igorw
Không có trên hệ thống của tôi, tôi chạy trên Ubuntu 12.04, tôi đã thử với Ubuntu 12.04, Chromium 20 và Chrome 22. Ngoài ra, onmessage et onerror được gọi cả trên Firefox, nhưng dữ liệu Sự kiện được hiển thị chính xác ... – mika34
hoạt động tốt Chrome 32.0.1700.102 m – Kamil