Javascript 使用jquery自动参照图像
我希望通过javascript(jQuery)循环更新图像,以避免加载页面的全部内容。 因为它是一个网络摄像头图像,总是有相同的名称,所以存在一个问题,缓存并不总是显示当前图像。 因此,我通过Javascript向图像名称添加了一个时间戳,以便这始终是一个新的图像名称,并且浏览器会更新它。 我想改变两件事: a) 当前,图像位于外部文件cam.php中 是否可以在不使用PHP和include的情况下进行更改,以便只在页面上重新加载DIV,而不再有两个页面 b) 始终显示第一个图像(来自页面的第一次调用)和最新图像时,第一个图像在2秒后消失。ca,然后仅显示当前的一个。这当然也是一个缓存问题。我说得对吗?如何改变Javascript 使用jquery自动参照图像,javascript,jquery,Javascript,Jquery,我希望通过javascript(jQuery)循环更新图像,以避免加载页面的全部内容。 因为它是一个网络摄像头图像,总是有相同的名称,所以存在一个问题,缓存并不总是显示当前图像。 因此,我通过Javascript向图像名称添加了一个时间戳,以便这始终是一个新的图像名称,并且浏览器会更新它。 我想改变两件事: a) 当前,图像位于外部文件cam.php中 是否可以在不使用PHP和include的情况下进行更改,以便只在页面上重新加载DIV,而不再有两个页面 b) 始终显示第一个图像(来自页面的第一
<head>
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
// Refresh File cam.php every 5 sec.
$(document).ready(function() {
$("#refresh").load("cam.php");
var refreshId = setInterval(function() {
$("#refresh").load('cam.php?' + 1*new Date());
}, 5000);
});
</script>
</head>
<body>
<div class="container">
<div class="card-deck mb-12 text-center">
<div class="card mb-4 shadow-sm">
<div class="card-body" id="refresh">
<?php
// include cam.php
require_once('cam.php');
?>
</div>
</div>
</div>
</div>
</body>
</html>
//每5秒刷新一次cam.php文件。
$(文档).ready(函数(){
$(“#刷新”).load(“cam.php”);
var refreshId=setInterval(函数(){
$(“#刷新”).load('cam.php?'+1*新日期());
}, 5000);
});
以及cam.php文件
<script>
// create timestamp and attach to picture name
$("#myimg").attr("src", $("#myimg").attr("src")+"?timestamp=" + new Date().getTime());
</script>
<img src="https://www.domain.de/images/mega.jpg" id="myimg" class="img-fluid" >
//创建时间戳并附加到图片名称
$(“#myimg”).attr(“src”),$(“#myimg”).attr(“src”)+“?timestamp=“+new Date().getTime());
非常感谢当图像加载时,计划在1秒内重新加载 试试这个-
<img src='someurl.com/someimage.ext' onload='imageRefresh(this, 1000);'>
Javascript:
<script language='javascript'>
function imageRefresh(img, timeout) {
setTimeout(function() {
var d = new Date;
var http = img.src;
if (http.indexOf("&d=") != -1) { http = http.split("&d=")[0]; }
img.src = http + '&d=' + d.getTime();
}, timeout);
}
</script>
函数imageRefresh(img,超时){
setTimeout(函数(){
var d=新日期;
var http=img.src;
如果(http.indexOf(“&d=”)!=-1){http=http.split(“&d=”)[0];}
img.src=http+'&d='+d.getTime();
},超时);
}
加载图像时,计划在1秒内重新加载图像
试试这个-
<img src='someurl.com/someimage.ext' onload='imageRefresh(this, 1000);'>
Javascript:
<script language='javascript'>
function imageRefresh(img, timeout) {
setTimeout(function() {
var d = new Date;
var http = img.src;
if (http.indexOf("&d=") != -1) { http = http.split("&d=")[0]; }
img.src = http + '&d=' + d.getTime();
}, timeout);
}
</script>
函数imageRefresh(img,超时){
setTimeout(函数(){
var d=新日期;
var http=img.src;
如果(http.indexOf(“&d=”)!=-1){http=http.split(“&d=”)[0];}
img.src=http+'&d='+d.getTime();
},超时);
}
我现在已经实现了这个解决方案,因为它工作得很好。谢谢你的帮助
<script type="text/javascript">
$(document).ready(function() {
// Picture Refresh
setInterval('reloadImages()', 5000); // every 5 seconds autorefresh
});
function reloadImages()
{
$('#campic').attr('src', 'https://www.test.com/picture.jpg?' + Math.random());
}
</script>
$(文档).ready(函数(){
//图片刷新
setInterval('reloadImages()',5000);//每5秒自动刷新一次
});
函数重载图像()
{
$('#campic').attr('src','https://www.test.com/picture.jpg?“+Math.random());
}
我现在已经实现了这个解决方案,因为它工作得很好。谢谢你的帮助
<script type="text/javascript">
$(document).ready(function() {
// Picture Refresh
setInterval('reloadImages()', 5000); // every 5 seconds autorefresh
});
function reloadImages()
{
$('#campic').attr('src', 'https://www.test.com/picture.jpg?' + Math.random());
}
</script>
$(文档).ready(函数(){
//图片刷新
setInterval('reloadImages()',5000);//每5秒自动刷新一次
});
函数重载图像()
{
$('#campic').attr('src','https://www.test.com/picture.jpg?“+Math.random());
}
谢谢丹尼尔,但这不管用。图像不再更新。感谢您的回答,但是图像将只加载一次,并且不会在下次“刷新”时显示。谢谢Daniel,但这不起作用。图像不再更新。感谢您的回答,但是图像将只加载一次,并且不会在下次“刷新”时显示。