Autor Zpráva
kujeba
Profil
Dobrý den,
IE mi hlási následující chybu javascriptu:

Skript na této stránce způsobuje zpomalení aplikace Internet Explorer.
Pokud bude jeho činonst pokračovat, počítač pravděpodobně přestane reagovat.


Ve FF FireBugu, kde mohu debugovat javascript mi však není hlášen žádný javascriptovy problém. Můžete mi, prosím, poradit jak mohu zjistit, který že z používaných javascriptů (a proč) tuhle hlášku v IE vygeneruje?

Díky za radu.
Chamurappi
Profil
Reaguji na kujebu:
Způsobuje to ten skript, který to způsobovat přestane, jakmile ho ze stránky vyhodíš.
V novějších Explorerech je také něco Firebug, zmáčkni F12, též to umí některé věci sledovat. Krom toho, že to samo zpomaluje :-) (což ostatně Firebug také)
kujeba
Profil
Reaguji na Chamurappi:
Díky za radu, jak ale mám zjistit, kterej ze 48 externich javascriptu to způsobuje? Nástroje pro vývojáře v IE mi tvrdí, že je vše v pořádku :-(
Chamurappi
Profil
Reaguji na kujebu:
jak ale mám zjistit, kterej ze 48 externich javascriptu to způsobuje?
Tím způsobem, který jsem popsal. 48 je méně než 2^6, takže stačí šest pokusů.
U stránky s takovým množstvím externích (předpokládám převzatých) skriptů je vysoce pravděpodobné, že to bude pořádný humus, takže bych to na tvém místě neladil, ale zahodil.

Jinak to je také standardní začátečnická chyba, když člověk nezkoumá potenciální problémy průběžně a nechává si údiv na konec vývoje. (Pokud tedy těch 48 skriptů je konec vývoje.)

Nástroje pro vývojáře v IE mi tvrdí, že je vše v pořádku
Aha, já myslel, že používáš Firebug k opravdovému ladění a sledování rychlosti. Pokud koukáš jen na chybovou konzolu, k tomu žádné rozšíření v žádném prohlížeči nepotřebuješ.
kujeba
Profil
Reaguji na Chamurappi:
Převzatých je cca 15 skriptů. Zbylé množství jsem způsobil tím, že kvůli lepší přehlednosti a úpravám si píšu pro každý programovaný modul vlastní js soubor. Plus samozřejmě využívám i ostatní, pokud v nich jsou potřebné instrukce.

Firebug mi píše u nejpomalejšího skriptu rychlost zpracování 175ms. Omlouvám se, nejsem studovaný inženýr informatik, takže k Firebugu přistupuji skrze "selský" rozum a nejsem schopen z něj vyčíst víc, než je v něm napsáno...

Jinak co se týče údivu až na konci vývoje, tak to jsi trefil naprosto přesně, je to poučení pro příště, i když se obávám, že všechny možné problémy stejně nedokážu dopředu předvídat nikdy...
_es
Profil
kujeba:
kvůli lepší přehlednosti a úpravám si píšu pro každý programovaný modul vlastní js soubor
Kvôli lepšej prehľadnosti a úpravám 48 súborov JS?
To sú dosť zvláštne predstavy o prehľadnosti a upraviteľnosti.
kujeba
Profil
Reaguji na _es:
Příklad: přijde mi přehlednejší, když js který ovládá modul "Články" je v souboru clanky.js a js, který ovládá "Fotogalerie" je v souboru fotogalerie.js než kdyby byly v jednom souboru global.js. Zejména při použití AJAX a následného vložení dat do zobrazované stránky (pokud na tato data potřebuji aplikovat js).

Nicméně: Když mi Firebug hlásí, že nejpomalejší js trval 175ms a IE tvrdí, že zobrazení té samé stránky je nemožné, protože skript způsobuje zpomaleni IE, jak mám zjistit, kde je chyba?
Chamurappi
Profil
Reaguji na _es:
Kvôli lepšej prehľadnosti a úpravám 48 súborov JS?
Nemusí to být zase tak špatný nápad. Už delší dobu dělám na jednom projektu, který mám hezky rozložený do hromady dílčích JS, které se při nasazení nové verze do ostrého provozu spojí a zapakují do jednoho úhledného sedmdesátikilového drobečka. Krátké soubory motivují k důkladnějšímu okecávání :-) … a to opravdu napomáhá přehlednosti.


Reaguji na kujebu:
jak mám zjistit, kde je chyba?
Tím způsobem, který jsem popsal.

Když mi Firebug hlásí, že nejpomalejší js trval 175ms
… tak si ještě můžeš zjistit, co ti zahlásí profiler v Exploreru. Nástroje pro vývojáře už jsi našel.
_es
Profil
Chamurappi:
rozložený do hromady dílčích JS, které se při nasazení nové verze do ostrého provozu spojí a zapakují do jednoho úhledného sedmdesátikilového drobečka.
Podľa reakcií kujebu sa mi nezdalo, že by chcel realizovať fázu spojenia, no možno to len nespomenul.

Reaguji na kujebu:
„jak mám zjistit, kde je chyba?“
Tím způsobem, který jsem popsal.
Chamurappi tým myslel, že za predpokladu, že to spôsobuje len jeden súbor JS, tak to zistíš tak, že budeš počet JS súborov v HTML postupne rozdeľovať na dve rovnaké skupiny a tú skupinu, ktorá problém spôsobí, rozdelíš zase na dve skupiny. Pri 48 súboroch ti na to stačí 6 pokusov.
Alebo, ešte možno jednoduchší spôsob, vzhľadom na druh chyby, je za každý <script> vložiť ďalší <script>, ktorý len nejako oznámi, že sa súbor vložil.
Witiko
Profil
Chamurappi:
které se při nasazení nové verze do ostrého provozu spojí a zapakují do jednoho úhledného sedmdesátikilového drobečka.
Používáš na to nějaký specifický software nebo jen nějakou jednoduchou utilitu vlastní výroby, která spojí textové soubory do jednoho podle pořadí jejich zařazení v html souboru?
Chamurappi
Profil
Reaguji na _es:
Podľa reakcií kujebu sa mi nezdalo, že by chcel realizovať fázu spojenia
Mně také ne, jen konstatuji, že při vývoji složitějšího projektu to může být výhodné.
Kdyby kujeba měl ty skripty už spojené, radili bychom mu, ať je v zájmu nalezení problému zase rozpojí :-)


Reaguji na Witika:
Mírně vylepšený a upravený Edwardsův Packer v ASP.NET.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: