насчет кеша:
да просто в .htaccess
Код:
|
<FilesMatch "\.(gif|jpg|png)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header Set Cache-Control "max-age=0, no-store"
Header Set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch> |
насчет обновления
<div id="cont">
<li><a href='#'><img src='ls/img.php?im=up-1' /></a></li>
<li><a href='#'><img src='ls/img.php?im=up-2' /></a></li>
<li><a href='#'><img src='ls/img.php?im=up-3' /></a></li>
<li><a href='#'><img src='ls/img.php?im=up-4' /></a></li>
<li><a href='#'><img src='ls/img.php?im=up-5' /></a></li>
</div>
если такой html, то скрипт примерно такой.
только контейнер так какой?? у меня будет div id="cont"
var cont = document.getElementById( "cont" ), li_arr, link_arr,img_arr;
if( document.querySelectorAll ){
img_arr = document.querySelectorAll( "li a img" , cont)
} else {
li_arr = document.getElementsByTagName( "li" );
for( var i=0; i<li_arr.length;i++)
img_arr.push ( li_arr[ i ].children[ 0 ].children[ 0 ] ) ;
}
var len = img_arr.length,reg = /(ls\/img.php\?im=up-\w+)(?:\?\w+\.\w+)?/;
function update( ){
var img;
for( var i=0; i< len; i++ )
img = img_arr[ i ];
img.src = img.src.replace( reg, function( a, b) { return b+'?'+Math.random() } )
}
setInterval ( update, 2000 );
насчет реплейса
вот примеры. запусти. вроде работает
var arr = [ 'ls/img.php?im=up-1','ls/img.php?im=up-2', 'ls/img.php?im=up-3', 'ls/img.php?im=up-4', 'ls/img.php?im=up-5' ], arr2 = [];
for( var i = 0; i<arr.length;i++){
arr[i] = arr[i].replace( /(ls\/img.php\?im=up-\w+)(?:\?\w+\.\w+)?/, function( a, b) { return b+'?'+Math.random() } )
// еще раз заменим. для надежности
arr2.push( arr[i].replace( /(ls\/img.php\?im=up-\w+)(?:\?\w+\.\w+)?/, function( a, b) { return b+'?'+Math.random() } ) )
}
alert( "Массив после первого раза: \n"+arr.join('\n')+"\n----------- \n Массив после второго раза : \n"+ arr2.join('\n') )