Autor | Zpráva | ||
---|---|---|---|
Petroff Profil |
#1 · Zasláno: 19. 2. 2008, 09:11:56 · Upravil/a: Petroff
Přemístil jsem volání JS procedur (které upravují vzhled celé řady bloků na stránce).
Místo v onload je volání na konci <BODY>, čímž dojde k překleslení téměř ihned (a ne po několikavteřinovém čekání než se nahrají obrázky) S Operou je problém - po reloadu stránky má většina bloků deformovaný vzhled (ani JS / ani jako s vypnutým JS ) Nemáte nějaké info, co se vlastně s DOM děje (škoda že O. nemá něco jako ff firebug ....) Nebo jak to pořešit ...ostatní browsery jsou 100% OK |
||
Joker Profil |
#2 · Zasláno: 19. 2. 2008, 09:20:46
Petroff
škoda že O. nemá něco jako ff firebug Developer Console nestačí? |
||
los Profil * |
#3 · Zasláno: 19. 2. 2008, 11:50:36
Opera má (okrem iného) občas problém pri prekreslení zmeny vyvolanej JavaScriptom. Mne sa osvedčilo vynútiť prekreslenie obsahu elementu napr. zmenou style.position na relative a potom späť na static (pre prekreslenie celej stránky by som menil body.style.position v prípade, že window.opera). Možno to pomôže aj v tomto prípade.
|
||
Petroff Profil |
#4 · Zasláno: 19. 2. 2008, 12:15:06
Jinak jsem zjistil,že pokud místo: prekresli() použiju delay 100ms tak je to OK: setTimeout(prekresli,100)
[OK pro stránku minimální size na mém PC; otázka je 100% spolehlivost (nakolik může mít vliv rychlost stahování, cache pomocných souborů, performance a já nevím co ještě] los Myslíš něco jako: <body style="position:relative"> ....... </body> <script> body.style.position="static"; prekresli(); </script> Můžu zkusit |
||
los Profil * |
#5 · Zasláno: 19. 2. 2008, 13:52:44
Petroff
Mal som na mysli po prekresli() vykonať toto: if (window.opera) { body.style.position = "relative"; body.style.position = "static"; } Nemám teraz k dispozícii zdroják, kde som potreboval vyriešiť blbé prekresľovanie Operou, ale princíp bol nejaký takýto. Ale naozaj neviem, či to pomôže... |
||
Časová prodleva: 16 let
|
0