Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 24. 5. 2013, 19:17:03
Dobrý den. Rád bych se zeptal jestli lze nějak zacachovat obrázky na stránce tak aby se načetli pouze jednou a pak už se jen kopírovali. Myslím že to šlo nějak pomocí jquery $('<img/>').attr('src', 'obrazek.gif'); ale tím si nejsem jistý. Prosím o radu.
|
||
honzaik Profil |
#2 · Zasláno: 24. 5. 2013, 19:44:21
myslim že to si zajištuje prohlížeč sám :D když budeš mit obrázek se stejnou url tak ho to nebude stahovat znova
|
||
Fisak Profil |
#3 · Zasláno: 24. 5. 2013, 19:51:21
honzaik:
aha no já mam na stránce 7171 kostiček obrázků ale je tam pouze 31 obrázků.. z větší části se opakují... A právě píše mi to "Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 57065474 bytes) in /data/web/virtuals/30303/virtual/www/subdom/chadmin/system/function/function.main.php on line 305" |
||
honzaik Profil |
#4 · Zasláno: 24. 5. 2013, 20:17:16
no tak ale to je chyba v php ne?
|
||
Fisak Profil |
#5 · Zasláno: 24. 5. 2013, 20:23:57
honzaik:
No je to memory limit.. Já ho mám nastavený na 128MB a pokud se nemýlím tak pokud přesáhne skript tento limit tak se zvolá tato hláška. A pokud počítám správně tak by to měli způsobovat ty obrázky... |
||
honzaik Profil |
hm a ty tam ty obrázky přidáváš hned zezačátku čistě přes html, nebo průběžně js? zkus někam do body dát <img src="url" style="display:none">
|
||
Fisak Profil |
#7 · Zasláno: 24. 5. 2013, 20:46:13 · Upravil/a: Fisak
honzaik:
no tahám z db url a pak je vkládám do <img src="url" /> <style type="text/css"> body {overflow :hidden;} .presun_mne {position:relative; cursor:move; width: 9999999px;} .admin_nastroje { position: absolute; top: 0; left: 0; z-index: 10; border: 1px solid; border-color: #000000; background-color:white; } </style> <div class="admin_nastroje"> <form method="post"> <input name="plus_y" type="submit" value="Přidat horní řadu" /> <input name="minus_y" type="submit" value="Přidat dolní řadu" /> <input name="minus_x" type="submit" value="Přidat levý sloupec" /> <input name="plus_x" type="submit" value="Přidat pravý sloupec" /> || velikost: <input name="px_type" type="text" size="4" value="<?php if(empty($_GET['size'])) { echo "100"; } else { echo $_GET['size']; } ?>" />px || okraje: <input name="border_type" type="checkbox" <?php if(!empty($_GET['br']) and $_GET['br'] == "on") echo "checked=\"checked\""; ?>/> <input name="save_type" type="submit" value="Uložit" /> </form> </div> <div class="presun_mne"> <?php //výpis výškových souřadnic $map_y_sql = DB::query("SELECT DISTINCT [position_y] FROM [ch_map] ORDER BY position_y")->fetchAll(); foreach ($map_y_sql as $n => $row_map_y) { //výpis šířkových souřadnic $map_x_sql = DB::query("SELECT * FROM [ch_map] where [position_y] = %i", $row_map_y->position_y, "ORDER BY position_x")->fetchAll(); foreach ($map_x_sql as $n => $row_map_x) { $map_img_echo = DB::query("SELECT [url_img] FROM [ch_map_img] where [id] = %i", $row_map_x->img_id); ?><a href="#" onDblClick="openModalFrame('<?php echo $row_map_x->id; ?>');"><img src="./images/textures/<?php echo $map_img_echo->fetchSingle('url_img'); ?>" alt="<?php echo $row_map_x->position_x.":".$row_map_x->position_y; ?>" title="<?php echo $row_map_x->position_x.":".$row_map_x->position_y; ?>" width="<?php if(empty($_GET['size'])) { echo "100"; } else { echo $_GET['size']; } ?>" height="<?php if(empty($_GET['size'])) { echo "100"; } else { echo $_GET['size']; } ?>" <?php if(!empty($_GET['br']) and $_GET['br'] == "on") echo "border=\"1\""; ?> /></a><div id="dialog-<?php echo $row_map_x->id; ?>" style="min-height: 500px; width: 1200px; z-index:10000; display:none;" title="Změna textury"><div id="contentmodal"><?php $map_img_echo_now = DB::query("SELECT [*] FROM [ch_map_img]")->fetchAll(); foreach ($map_img_echo_now as $n => $row_img_ech) { echo "$('<img/>').attr('src', './images/textures/".$row_img_ech->url_img."');"; echo "<a href=\"#\" onclick=\"sendAjaxTextures('".$row_img_ech->id."', '".$row_map_x->id."');\"><img src=\"./images/textures/".$row_img_ech->url_img."\" /></a>"; } ?></div></div><?php } echo "<br>"; } ?> </div> |
||
honzaik Profil |
tohle se mi moc nechce luštit, jako nejsem takovej odborník ale prostě poradim že obrázek se dá nacachovat jak už jsem psal nebo pokud to dělá s js tak bych si udělal
var el = document.createElement("img"); el.src= url; |
||
Fisak Profil |
#9 · Zasláno: 24. 5. 2013, 21:05:42
honzaik:
No googlil jsem a právě všude psali že to je memory limitem.. já ho mám nastavený na 128MB a přemýšlím co jiného by mi ho mohlo překročit než to že by se mi nažetlo 7000krát 31 obrázků. tzn když mam <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> <img src="obrazek.png" /> |
||
honzaik Profil |
tobě se to načte 10x? já teda když si zkusim udělat třeba 6 obrázků za sebou se stejnou url tak chrome mi vypíše že se stahoval jen jeden obrázek :D (jeden má vel 6,5kB)
<img src="http://www.zing.cz/images/thumbnails/article178/7347b64b-17247-17208-nfs.jpg"> <img src="http://www.zing.cz/images/thumbnails/article178/7347b64b-17247-17208-nfs.jpg"> <img src="http://www.zing.cz/images/thumbnails/article178/7347b64b-17247-17208-nfs.jpg"> <img src="http://www.zing.cz/images/thumbnails/article178/7347b64b-17247-17208-nfs.jpg"> <img src="http://www.zing.cz/images/thumbnails/article178/7347b64b-17247-17208-nfs.jpg"> <img src="http://www.zing.cz/images/thumbnails/article178/7347b64b-17247-17208-nfs.jpg"> |
||
jenikkozak Profil |
#11 · Zasláno: 24. 5. 2013, 21:21:40
O obrázek žádá prohlížeč až poté, co získá zdrojový HTML kód. Tvůj skript ale patrně selže dřív, než stihne HTML vygenerovat. Přemýšlet v takové situaci nad cachováním obrázků nebo nějakými výmysly v JS je zbytečné.
|
||
pcmanik Profil |
#12 · Zasláno: 24. 5. 2013, 21:24:31
Fisak:
Máš tam nejak veľa vnorených cyklov, ktorý každý vyťahuje niečo z db. Zrejme php neuvoľnuje prostriedky a tebe to tak zaplní celú pameť. |
||
Časová prodleva: 11 let
|
0