Không cần AJAX, chỉ cần cập nhật thuộc tính src
của hình ảnh. Tuy nhiên, vì nó có cùng url, bạn phải cung cấp cho trình duyệt một địa chỉ duy nhất để đảm bảo bạn không chỉ tải hình ảnh cũ từ bộ nhớ cache của trình duyệt. Bạn có thể đảm bảo một hình ảnh độc đáo bằng cách lấy số sê-ri của ngày hiện tại qua new Date().valueOf()
và thêm nó vào url dưới dạng chuỗi truy vấn.
$("#dynamicImage").prop("src", "dynamicImage.jpg?" + new Date().valueOf());
Bạn cũng có thể sử dụng new Date().getTime()
để có được số serial, hoặc chỉ ép buộc ngày đối với một số: +new Date()
Để làm điều đó trên một bộ đếm thời gian sử dụng setInterval()
. Đây sẽ là mã hoàn chỉnh mà bạn chỉ có thể thả bên trong một thẻ script trong của <head>
trang của bạn:
$(function() {
var intervalMS = 5000; // 5 seconds
setInterval(function() {
$("#dynamicImage").prop("src", "dynamicImage.jpg?" + +new Date());
}, intervalMS);
});
Bạn nói" cố gắng lấy nó bằng url trả lại tập lệnh ", nhưng bạn ngụ ý rằng bạn hiện có thể tải lại hình ảnh bằng cách làm mới trang Vì vậy, bạn phải chỉnh sửa câu hỏi của mình để bao gồm html cho thẻ img mà bạn tìm thấy khi bạn xem nguồn? – gilly3
@ gilly3 không có nguồn trang nào toàn bộ trang chỉ đơn giản là một hình ảnh được tạo bởi tập lệnh perl, do đó không có thẻ img, không có html. Tôi muốn lấy hình ảnh đó để đặt nó vào một trang web và làm mới nó để cập nhật hình ảnh được tạo từ perl script – Mehran