You can add the time in miliseconds at the end of every file when you contruct the page. I usually get the modify time from the file and i contruct the src like this on php:
<img src="CAM2.png?<php echo filemtime( $file ); ?>" alt="Camera 2" width="100%">
will finally looks like this:
<img src="CAM2.png?1559820115091" alt="Camera 2" width="100%">
and every time you refresh the page the src will change and this forces the browser to get the image again because is not the same, but its totally transparent for your code.
If you can't use any server language to create the page this way, you can try calling a JS function from your href (or better from an "onclick"):
function refresh_images() {
// i will use the full numeric value in miliseconds that getTime returns
var date = new Date();
var time = date.getTime();
// changes every image's src
$("img").each(function(){
// save the current url to work with it
current_url = $(this).attr('src');
// check if i already changed the url (by adding an ? followed by miliseconds)
if( current_url.indexOf('?') > 0 ) {
// i remove the all from ? to end
current_url = current_url.substr(0, current_url.indexOf('?') );
}
// i add an ? to the end folloed by the time in miliseconds
new_url = current_url + "?" + time;
// i change the src
$(this).attr('src', new_url );
})
}
This function changes every src on your page, and the change forces the browser to check the server again for the new images. By adding the time at the end of each src, the images are "different" every time and the browser will load the images again.