Autor | Zpráva | ||
---|---|---|---|
kujeba Profil |
#1 · Zasláno: 16. 9. 2010, 09:55:13
Při zobrazování modal okna v IE dochází:
a) k značné časové prodlevě b) k "odskočení" na konec stránky, přes skutečnost, že modal okno je nahoře. viz: Odkaz Ve FF, Opeře, Google Chrome i v Safari vše běží bez prodlev a bez "odskakování". Použité frameworky: jQuery: jquery-1.4.2.min.js jQueryUI: jquery-ui-1.8.2.custom.min.js Volání modal okna: //Modal dialog if($("#dialog-form").length){ $("#dialog-form").dialog({ autoOpen: false, height: 300, width: 350, modal: true, resizable: false, draggable: false }); } $('#from_air').live('click', (function() { if($('#from-to').length){ $('#from-to').remove(); } $('#dialog-form').append('<div id="from-to" style="display:none;">from</div>'); $('#dialog-form').dialog('open'); })); $('#to_air').live('click', (function() { if($('#from-to').length){ $('#from-to').remove(); } $('#dialog-form').append('<div id="from-to" style="display:none;">to</div>'); $('#dialog-form').dialog('open'); })); Poradíte? Zkoušel jsem googlit, ale bez úspěchu. |
||
Fred Profil |
#2 · Zasláno: 16. 9. 2010, 20:43:41
DD_belatedPNG mi zdařile mi to setřeluje IE6 takže se nemrknu. Je možné že to i způsobuje, protože kvůli alpha kanálu nejspíš hází png objektům absdolutní pozici. Mimochodem když už je tam jQuery proč nepoužít http://plugins.jquery.com/project/iFixPng2
|
||
Chamurappi Profil |
#3 · Zasláno: 17. 9. 2010, 02:14:25
Reaguji na Freda:
Problém se netýká jen šestky. Reaguji na kujebu: „a) k značné časové prodlevě“ Zdržení pozoruji ve všech prohlížečích. Podle Firebugu se u mě víc jak půl sekundy vykonává jakási funkce filter uvnitř jQuery. Takže nejde o nějakou vykreslovací či stahovací chybu, ale máš tam něco hloupě naprogramované. Předpokládám, že to něco bude samotné jQuery + metoda live . Dosud jsem nezkoumal, jak live funguje, ale z logiky věci musí po každé změně DOMu vyhodnocovat selektor, což je v tomto případě nepochybně trestuhodné mrhání výkonem.
„b) k "odskočení" na konec stránky, přes skutečnost, že modal okno je nahoře.“ Skutečně je nahoře? Všiml jsem si, že se neskáče na konec stránky, ale za konec stránky, přibližně o stejnou vzdálenost, jako je výška toho dialogu. Ten dialog je ve skutečnosti dole (zabírá tam místo) a nahoru je jen relativně odpozicovaný, což je docela prasárna. Někdy kolem té doby, kdy dochází k odpozicování, si jQuery UI usmyslí, že ho naroluje do výhledu — v Exploreru před tou dobou, jinde po. To je nejpravděpodobnější příčina. Ale který shluk znaků v jquery-ui-1.8.2.custom.min.js je zapotřebí upravit, aby se to nedělo, ti už nepovím…
Mimochodem, když jsem si zkusil v Exploreru 7 přizoomovat a třikrát zobrazit a zavřít ten dialog, tak se mi začala hroutit Mozilla, protože na ni nezbyla žádná paměť. Všechno si během několika zatuhlých minut naalokoval Explorer. Mám jen 4 GB RAM, takže chápu, že to na vyhledání letenky nestačí, ale na místě běžného návštěvníka bych se z toho také začal hroutit. Udělej to modré poloprůsvitné překrytí jinak a klesnou nároky. Jak prosté, hm? :-) |
||
kujeba Profil |
#4 · Zasláno: 17. 9. 2010, 12:20:53
Chamurappi:
„Podle Firebugu se u mě víc jak půl sekundy vykonává jakási funkce filter uvnitř jQuery. Takže nejde o nějakou vykreslovací či stahovací chybu, ale máš tam něco hloupě naprogramované. Předpokládám, že to něco bude samotné jQuery + metoda live. Dosud jsem nezkoumal, jak live funguje, ale z logiky věci musí po každé změně DOMu vyhodnocovat selektor, což je v tomto případě nepochybně trestuhodné mrhání výkonem.“ Ano, v tomto případě bylo opravdu použití metody live zcela zbytečné. Nicméně po jejím odstranění a nahrazení klasickou metodou click nedošlo k žádnému viditelnému zrychlení :-( . „Skutečně je nahoře? Všiml jsem si, že se neskáče na konec stránky, ale za konec stránky, přibližně o stejnou vzdálenost, jako je výška toho dialogu. Ten dialog je ve skutečnosti dole (zabírá tam místo) a nahoru je jen relativně odpozicovaný, což je docela prasárna. Někdy kolem té doby, kdy dochází k odpozicování, si jQuery UI usmyslí, že ho naroluje do výhledu — v Exploreru před tou dobou, jinde po. To je nejpravděpodobnější příčina. Ale který shluk znaků v jquery-ui-1.8.2.custom.min.js je zapotřebí upravit, aby se to nedělo, ti už nepovím…“ Modal okno je pozicováno stejně jako zde. Nejsem sto najít žádnou odlišnost a chybu alespoň "odchytit". „Mimochodem, když jsem si zkusil v Exploreru 7 přizoomovat a třikrát zobrazit a zavřít ten dialog, tak se mi začala hroutit Mozilla, protože na ni nezbyla žádná paměť. Všechno si během několika zatuhlých minut naalokoval Explorer. Mám jen 4 GB RAM, takže chápu, že to na vyhledání letenky nestačí, ale na místě běžného návštěvníka bych se z toho také začal hroutit. Udělej to modré poloprůsvitné překrytí jinak a klesnou nároky. Jak prosté, hm? :-)“ Bohužel, modré poloprůsvitné překrytí a modal okno je přání klienta, kterej na něm trvá. Zkoušel jsem si v IE8 přizoomovat dialog a 5x zobrazit a zavřít a jak IE, tak FF to ustáli... |
||
Časová prodleva: 14 let
|
0