| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Добавить время кэширования для информера в iframe |
| Автор: tenmet 18.8.2012, 16:24 |
| Такой вопрос, информеры со сторонних сайтов добавляю в новую страницу и ставлю в iframe. Но оказалось, что при перезагрузке страницы iframe не обновляется, картинка информера постоянно старая. Добавил math.random() , получилось .png? + Math.random() + проблема с необновлением решилась, но картинка теперь генерируется при каждом переходе по сайту. Можно как-то сделать так, чтобы посетителю при заходе отдавалась новая картинка, и при последующих переходах по сайту сайта она уже бралась из кэша, а время кэша, скажем - минут 5. В общем - нужно кэшировать информер в iframe на определенное время. |
| Автор: ksnk 18.8.2012, 22:18 |
| tenmet, И кто мешает формировать ссылку в png? + XXX из времени, округленном до ближайших 5 минут? |
| Автор: tenmet 19.8.2012, 00:04 |
| Можно поподробнее, как это правильно записать? |
| Автор: ksnk 19.8.2012, 01:02 | ||||
метод getTime возвращает
в 5 минутах этих милисекунд 5*60*1000 = 300000 так что, как-то так
|
| Автор: tenmet 19.8.2012, 10:22 |
| Большое спасибо, все получилось, только увеличил время до 600 тыс, а то как-то мало получалось. А если ставить, к примеру, 60 тыс, т.е 1 минуту, то он криво работал, генерировал картинку, после второго перехода почему-то еще одну, и только потом делал перерыв секунд на 10, никакой минуты. Если 300 или 600 тыс, то все хорошо, генерирует картинку только 1 раз, правда с временем все равно мудрит)) |
| Автор: ksnk 19.8.2012, 11:00 |
| tenmet, Там трюк-то простой. Округляется значение милисекунд до какого-то ближайшего кратного 5 минутам(300к) значения. Никакой привязки к реальному времени не остается. Так что примерно в 50% случаев вторая картинка будет обновлятся через 2,5 минуты. А вот третья регенерация изображения произойдет уже действительно через 5 минут после второй. |