|
|
|
| Задался я одним делом, нынче в моду пошли всякие онлайн игры, хочу организовать покер, но для wap, то есть без флеш анимации и чтоб трафика жрал как можно меньше.
Есть калода карт, я их обозначил k_n.png, где k-масть(бубны, черви, трефы, пики соответственно 1,2,3,4) а n- сама карта(2,3.... К, Т), принимают значение от 2 до 14. То есть картинка 4_8.png это 8-ка пик.
Теперь сам вопрос, как предварительно кешировать эти картинки, чтоб разные броузеры работали правильно? я вытащил с одного из шаблонов Dreamweaver такой код на ява скрипте, типа предварительно кеширует картинки
function MM_preloadImages() {
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
......
<body onload="MM_preloadImages('_pics/1_2.png','_pics/1_3.png',....'_pics/4_14.png')">
|
и вписал вот такое
<body onload="MM_preloadImages(
<?php
$aaa=array('1','2','3','4');
for($key=0; $key<=3; $key++)
{
for($q=2; $q<=14; $q++)
{
echo "'_pics/".$aaa[$key]."_".$q.".png',";
}
}?>
)">
|
но всеравно не тот результат что хотелось бы, тормозит при повторном обновлении, а мне нужно чтоб тупо закешировал все эти картинки, что бы при игре в дальнейшем заново броузер не загружал изображения калоды карт. | |
|
|
|
|
|
|
|
для: bab-nike
(22.07.2010 в 02:54)
| | Это предварительная загрузка объектов, а не кеш на диске, и при обновлении будет выполняться вновь. | |
|
|
|
|
|
|
|
для: sim5
(22.07.2010 в 10:36)
| | а что посоветуйте, на чем опираться чтоб заставить броузеру кешировать картинки? | |
|
|
|
|
|
|
|
для: bab-nike
(22.07.2010 в 02:54)
| | Кешированием на стороне клиента невозможно управлять. Можно только рекомендовать кеширование посредством http-заголовков.
Как реагировать на заголовки Cache-Control, Pragma, Expires и прочие, решает только клиент. Средствами HTTP нельзя заставить клиента закешировать тот или иной объект. Можно только предложить клиенту закешировать тот или иной объект. Причины, почему клиент не кеширует данные, банальны: квоты хватает только для хранения пользовательских данных или механизм кеширования тупо не реализован. Если для настольных браузеров кеширование — вполне обыденное явление, то для мобильных агентов нет. | |
|
|
|
|
|
|
|
для: bab-nike
(22.07.2010 в 02:54)
| | нашел более или мене подходящий вариант решения, вот ссылка если кому интересно.
вот только как мобильные броузеры будут реагировать -пока не ясно, пойду ка поэкспериментирую :)
http://htaccess.net.ru/doc/Pass_Set_Env/cache4.php | |
|
|
|