ugrás a tartalomhoz

az újratöltés hibája

domel · 2009. Ápr. 17. (P), 23.40
Órák óta azon szenvedek, hogy egy hibát hogyan tudnák nektek szimulálni, mert az olyan aljas dolog, mikor valami működik, de néha nem :(

1. indítsd el az Internet Explorert (nekem 8-as)
2. másold be a címsorába: http://www.spessart.hu/02balfifelvonulas/index.php nyomj entert
3. várd meg, míg teljesen betöltődik a lap
4. újra másold be a böngésző címsorába a fenti linket, és nyomj újra entert

Ha nálatok is leszálltak az ufók, akkor másodszorra nem indul el a javascript képgaléria. Operában is előfordul ritkán, de ott nem sikerült szimulálni.
Szóval az a lényeg, hogy a fejléc betöltődése után kezdje töltögetni a kisképeket, mert csúnya az oldal, amíg nincs fejléc.
A javascriptet a fejléc img onload= eseménye indítja, és szerintem az lehet a hiba, hogy az IE másodszorra a képet már a gyorsítótárból tölti be, és nem fut le az img onload eseménye. De néha meg lefut, ezért vok tiszta ideg. A Body onload= eseménye azért nem jó a javascriptet indítani, mert IE alatt a html tartalom betöltése után lefut a body onload= és nem várja meg, amíg a képek is betöltődtek.

Remélem sikerült a bemutató, és találunk valami megoldást a problémámra :) Egyáltalán miért van egy png képnek majdnem bmp mérete? 700x250-es png kép majdnem fél mega, ami hosszú másodpercek, és ezért kell a betöltődéskor a javascriptnek várakoznia.

Üdv!
Domel
 
1

A hiba olykor Firefox

Ajnasz · 2009. Ápr. 18. (Szo), 09.12
A hiba olykor Firefox 3.5b4ben is jelentkezik.

Szerintem a design es a fejlec nem igazan erdekli a latogatokat, sokkal inkabb a rendezvenyrol keszult kepek miatt nyitjak meg az oldalt, ezert elgondolkodnek, hogy tenyleg erdemes-e emiatt igy trukkozni.

A kep merete annak tartalmatol fugg. Megprobalkozhatsz nemi opimalizacioval es talan megfontolando a fejlec egyszerubbe tetele. Esetleg megprobalhatod, hogy - hasonloan az oldal tobbi reszehez - a piros bordert hatterkent hasznalod a fejlecnel is, igy lesz eleje es vege is, csak nem lesz benne a kep.

Udv
2

.

domel · 2009. Ápr. 18. (Szo), 15.40
Akkor ez van. Lesz body onload, úgyis a firefoxosok vannak többségben :(
4

sorrend

tgr · 2009. Ápr. 19. (V), 10.42
Hamarabb tölt be a kép, mint a script, és az elsofazis() még nincs definiálva. (Általában JS debuggolást azzal érdemes kezdeni, hogy megnézed a hibakonzolt...) Tedd a scriptet a headerbe, ha nem külön fájlban van, akkor úgyse gyorsítasz semmit azzal, hogy csak az oldal alján töltöd be.

De igazából a normális megoldás az lenne, ha nem töltenél be teljesen feleslegesen két képet, hanem egér ráhúzásakor odébbpozicionálnád egy kicsit. (Ehhez még javascript sem kell, csak relatív pozicionálás a :hover pseudoclassra. Arra kell csak vigyázni, hogy IE6 alatt csak a-n lehet hover, és csak a selector legvégén.)
3

png

tgr · 2009. Ápr. 19. (V), 10.40
A png egyébként nem sokat tömörít egy fényképen, az egy veszteségmentes tömörítés, arra jó, ha egyszínű területek vannak a képen, nem színátmenetekre. Használj jpg-t.

És nézd meg, mennyire használható az oldal kikapcsolt javascripttel - jelen formájában nem igazán.
5

.

domel · 2009. Ápr. 19. (V), 14.16
Aki IE6-tal jön, azt egyszerüen kirugom, a javascriptet meg illik nem kikapcsolni, mert aki kikapcsolja, az igénytelen.
Tehát azt mondod, hogy tegyem a headerbe a JS kódot? Lehet benne valami, mert ha gyorsítótárbol jön a kép, az lehet, hogy előbb megvan, mint ahogy a html tartalom letöltődne. Estefelé lesz időm kipróbálni. De ezzel a logikával a betöltendő kép elé bárhova tehetem a javascriptet, lényeg, hogy mikor a kép kezd töltődni, az img onload= -nak már legyen mit elindítani
6

hozzáállás

erenon · 2009. Ápr. 19. (V), 15.53
"Aki IE6-tal jön, azt egyszerüen kirugom"
És ezzel felhasználókat vesztesz. Senki se szeret az IE-vel szenvedni, de ez üzlet kérem.

"javascriptet meg illik nem kikapcsolni, mert aki kikapcsolja, az igénytelen"
Ez meg pláne nevetséges hozzáállás. A javascript kikapcsolásának lehetnek teljesítmény vagy biztonsági okai is, nem csak az igénytelenség. Azokról meg nem is beszélve, akik be se tudják kapcsolni. (Szöveges böngészők stb.)

Az oldaladon alkalmazott js trükk teljesen másodlagos, a felhasználókat a képek fogják érdekelni, nem pedig az oldal szétesett szerkezete. A fejléc kényszerítése felesleges, egy ideig úgyis ronda marad az oldal.
7

.

domel · 2009. Ápr. 19. (V), 22.25
Szöveges böngészőt kik használnak? A vakok?
Amúgy nagyban befolyásolnak az ellenvélemények is :)
Néztem az oldalt délután iPhone-ról, és a fejléc 3-4 pixellel szélesebb mint a keret, ami azért furcsa, mert az egész oldal három 700 pixel széles képből áll, de mindegy, ájfonéknál így marad
8

..

tgr · 2009. Ápr. 19. (V), 23.43
Javascript nélkül egyáltalán nem működő oldalt írni egyrészt igénytelenség (általában semmivel sem bonyolultabb úgy megírni, hogy működjön JS nélkül is), másrészt elérhetetlenné teszed a tartalmat a keresők számára, harmadrészt ha valami hiba csúszik a kódba, akkor működésképtelenné válik az oldal, és gondolom nem fogod mind a tizenpár többé-kevésbé népszerű böngészőn letesztelni, hogy lefut-e a javascript.

Az IE6 támogatás meg szándék és célcsoport kérdése - az a cél, hogy letudd az oldalt egy nap alatt, vagy inkább tartson háromig, de a látogatók lássák is? Azért az utóbbi inkább jellemző, és az IE6 még mindig pár tíz százalékkal több olvasót jelent. Persze ha csak valami extra apróságról van szó, mint itt a hoverre benyomódó képek, azt teljes lelki nyugalommal el lehet hagyni IE6 alatt, az oldal használhatósága semmit se csorbul nélküle.

De a lényeg az, hogy teljesen feleslegesen töltetsz le a látogatóval 2n képet egy olyan effektért, amit n+1 képpel tökéletesen meg lehet csinálni.
10

szánalmas

gex · 2009. Ápr. 20. (H), 01.20
Aki IE6-tal jön, azt egyszerüen kirugom, a javascriptet meg illik nem kikapcsolni, mert aki kikapcsolja, az igénytelen.
erre tényleg csak a szánalmas jelzőt tudom használni, de ezt már itt is kifejtettem.
11

Igénytelen

Poetro · 2009. Ápr. 20. (H), 09.02
a javascriptet meg illik nem kikapcsolni, mert aki kikapcsolja, az igénytelen

Én Fx3 alatt gyakran kikapcsolom a a JS-t mert a sok igénytelen weboldal elszúrja az oldalt vele, vagy éppen olyan részek tűnnek el, amikre kíváncsi vagyok, csak JavaScripttel "szépen" elrejtik, hogy utána ne lehessen újra megjeleniteni.
A másik az, hogy üzleti környezetben a JS gyarkan ki van kapcsolva elkerülve az XSS és CSRF támadásokat, amik az egyes igénytelen oldalakon érhetik a felhasználót megszerezve felhasználói adatokat, jelszavakat stb.

Szöveges böngészőt használnak például azok, akik éppen nem férnek hozzá grafikushoz, mert mondjuk parancssorban vannak, vagy nem telepítettek fel grafikus környezetet. Ezen kívül a keresőmotorokat és szöveges böngészőknek illik tekinteni, ugyanis azok csak a leírt információt "látják" képeket, JavaScriptet, Flasht, CSSt nem.
9

.

domel · 2009. Ápr. 20. (H), 00.14
Márpedig tessék a böngészőt frissíteni! Nem is kell vele sokat foglalkozni, mert a windows frissíti azt is a többi összetevővel együtt. Aki nem frissíti, abból hamar egy zombi hálózat katonája lesz, és másoknak árt.
De engem meg lehet győzni az ellenkezőjéről is :)