Jeśli ręcznie wczytam adres URL nextimg w przeglądarce, nowe zdjęcie jest wyświetlane za każdym razem, gdy ponownie je ładuję. Ale ten fragment kodu pokazuje ten sam obraz w każdej iteracji draw()
.JavaScript: jak zmusić Image(), aby nie używał pamięci podręcznej przeglądarki?
Jak mogę zmusić myimg, aby nie był buforowany?
<html>
<head>
<script type="text/javascript">
function draw(){
var canvas = document.getElementById('canv');
var ctx = canvas.getContext('2d');
var rx;
var ry;
var i;
myimg = new Image();
myimg.src = 'http://ohm:8080/cgi-bin/nextimg'
rx=Math.floor(Math.random()*100)*10
ry=Math.floor(Math.random()*100)*10
ctx.drawImage(myimg,rx,ry);
window.setTimeout('draw()',0);
}
</script>
</head>
<body onload="draw();">
<canvas id="canv" width="1024" height="1024"></canvas>
</body>
</html>
Dan, rodzaj starej poczty, ale na pewno jestem ci winien piwo na tym. Niezupełnie moja sytuacja, ale dał mi świetny pomysł. Dzięki! – brmore
Musiałem użyć tego bez końcowego ukośnika: 'var url = 'http; //.../ something.png' + '?' + Math.random()', ale działa poprawnie! +1 dla poradnika headers :) –
Piękno, zapomniałem o tej małej sztuczce! – JDandChips