Показать сообщение отдельно
  #3 (permalink)  
Старый 09.05.2011, 10:25
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

насчет кеша:

да просто в .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')  )
Ответить с цитированием