Toon posts:

[Javascript] groot javascript (650KB)inladen duurt heel lang

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

ik heb een webpagina waarin het heel lang duurt vooralleer de pagina volledig geladen is. Nu heb ik alle html in de body eruit gesloopt en er staat in de head alleen <script type="text/javascript" src="/js/bigjs.js" language="javascript"></script> extra. Het javascript heeft een grootte van 650KB maar ik heb een supersnelle internetlijn dus dit zou normaal heel snel in de cache geladen moeten worden. Nu duurt het meer als een minuut voordat de pagina klaar is met laden. Weet iemand hoe dit kan?

Bedankt,
Ellen

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Die Javascript moet ook nog uitgevoerd worden. ;) Dat duurt wel even. :) Mag ik vragen waarom je trouwens geen HTML tussen je <body>..</body> hebt staan? Daar hoort het immers, niet in een Javascript file. Nu heb je totaal geen zoekmachine indexatie en mensen met Javascript disabled kunnen je site niet bekijken.

Sole survivor of the Chicxulub asteroid impact.


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 12-02 10:41

chem

Reist de wereld rond

kolere, 650kb... wat mag dat wel niet zijn?
anyways, zoek eerst eens uit waar je probleem ligt; bij het interpreteren, het downloaden of de cacheing.

Klaar voor een nieuwe uitdaging.


Verwijderd

Topicstarter
AtleX schreef op donderdag 10 augustus 2006 @ 12:46:
Die Javascript moet ook nog uitgevoerd worden. ;) Dat duurt wel even. :) Mag ik vragen waarom je trouwens geen HTML tussen je <body>..</body> hebt staan? Daar hoort het immers, niet in een Javascript file. Nu heb je totaal geen zoekmachine indexatie en mensen met Javascript disabled kunnen je site niet bekijken.
Hoi,

ik heb maar even niks in de body-tag gezet om te testen. Zo weet je dat het niet aan iets anders ligt dat de boel vertraagd. Ik heb dus ook geen html in mn javascript staan... en zoekmachines... is niet van toepassing op dit script. Maar die javascript... hoezo moet die nog uitgevoerd worden? In het javascript staan gewoon een aantal functies die nog niet aangeroepen worden in de html?

Verwijderd

Topicstarter
chem schreef op donderdag 10 augustus 2006 @ 12:51:
kolere, 650kb... wat mag dat wel niet zijn?
anyways, zoek eerst eens uit waar je probleem ligt; bij het interpreteren, het downloaden of de cacheing.
Ja, 650KB, ik weet het maar kan er momenteel niks aan doen. Hoe kan ik uitvinden of het probleem bij het interpreteren, downloaden of cachen ligt?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:55

crisp

Devver

Pixelated

650KB :? my god, de DHTML lemmings engine was nog niet eens een tiende daarvan...
Ik heb zo'n vermoeden dat daar hele foute dingen in staan...

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op donderdag 10 augustus 2006 @ 12:58:
650KB :? my god, de DHTML lemmings engine was nog niet eens een tiende daarvan...
Ik heb zo'n vermoeden dat daar hele foute dingen in staan...
Sorry, eenmaal het script geladen is werkt het ook wel goed... ik kan niet teveel in detail treden maar de file kan ik momenteel niet veranderen, die blijft zo groot.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:50

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op donderdag 10 augustus 2006 @ 12:53:

Maar die javascript... hoezo moet die nog uitgevoerd worden? In het javascript staan gewoon een aantal functies die nog niet aangeroepen worden in de html?
functies moeten in het geheugen geladen worden, sowieso wordt javascript al direkt geinterpreteerd en dat kan ook extra duren...

ik kan niet anders dan denken dat hier een klunzige onzin-programmeur dat javascript heeft gemaakt en dat daar allerlei compleet onpraktische zaken instaan, dingen die dubbelop zijn of onhandig zijn opgezet....
puur fouten in het ontwerp, het is zinloos om dat achteraf opeens te willen 'rechtbreien'---

dat is alsof je een wolkenkrabber gebouwd hebt en aan het einde ontdekt dat de fundering onbtreekt en hoe je het beste kunt voorkomen dat de wolkenkrabber ind e polder wegzakt of omvalt ... dat gaat niet lukken.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:55

crisp

Devver

Pixelated

Fact is dat al die JS ook gewoon geparsed en geinterpreteerd moet worden. Als daar declaraties instaan dan moeten die in de global namespace gedeclareerd en gevuld worden. Dat kost gewoon tijd en geheugen.

Ik vermoed dat het hier om content in JS gaat, iets waar JS natuurlijk totaal niet voor bedoelt is - semantisch gezien niet en praktisch gezien ook niet. Ik zou toch eens gaan kijken naar meer gangbare technieken zoals on-demand dergelijke content ophalen bijvoorbeeld mbv Ajax.

Intentionally left blank


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:50

RM-rf

1 2 3 4 5 7 6 8 9

crisp schreef op donderdag 10 augustus 2006 @ 13:16:

Ik zou toch eens gaan kijken naar meer gangbare technieken zoals on-demand dergelijke content ophalen bijvoorbeeld mbv Ajax.
in theorie zou het zelfs mogelijk zijn om on the fly javascript-functies op te halen, met behulp van JSON (JASON, de mythologische 'vader' van Ajax, een manier om javascript objecten on-the-fly te declareren)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • endless
  • Registratie: April 2004
  • Niet online
Kun je het javascript (via een url) niet hier posten? :)
Misschien dat er wat mensen hier zijn die wat dingen zien die niet horen ofzo..

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
RM-rf schreef op donderdag 10 augustus 2006 @ 13:16:
ik kan niet anders dan denken dat hier een klunzige onzin-programmeur dat javascript heeft gemaakt en dat daar allerlei compleet onpraktische zaken instaan, dingen die dubbelop zijn of onhandig zijn opgezet....
puur fouten in het ontwerp, het is zinloos om dat achteraf opeens te willen 'rechtbreien'.
Zonder te weten wat de appl. is, kan dit moeilijk gesteld worden. Wellicht bevat het bestand met de js erin ook heel wat gegevens. Ik heb nl zo het vermoeden dat de volledige applicatie in één bestand zit.

Om te testen of het aan interpretatie/parsing ligt, kan je een js bouwen waar 10000 keer iets heel eenvoudig instaat. Bij voorkeur ook een versie met veel geheugen-allocatie en één met weinig/geen.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:55

crisp

Devver

Pixelated

RM-rf schreef op donderdag 10 augustus 2006 @ 13:20:
[...]


in theorie zou het zelfs mogelijk zijn om on the fly javascript-functies op te halen, met behulp van JSON (JASON, de mythologische 'vader' van Ajax, een manier om javascript objecten on-the-fly te declareren)
JSON beperkt zich tot arbitraire objecten, arrays en primitives zoals strings, floats, numbers en booleans, maar aangezien je een functie als string kan serializen en vervolgens weer door de Function() constructor kan halen is dat zeker mogelijk ja :)

Intentionally left blank


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:50

RM-rf

1 2 3 4 5 7 6 8 9

moozzuzz schreef op donderdag 10 augustus 2006 @ 13:24:

Zonder te weten wat de appl. is, kan dit moeilijk gesteld worden. Wellicht bevat het bestand met de js erin ook heel wat gegevens. Ik heb nl zo het vermoeden dat de volledige applicatie in één bestand zit.
dat kan wel hoor :) als iemand zegt dat het een javascriptbestand is van 650Kb en het minuten duurt om in te laden weet je het wel .... het is net zoals dat als je bij de docter komt met bloed stromend uit een gapende hofdwond dat hij meestal niet vraagt: 'en, voor wat komen wij vandaag, een pilletje?' ;) :P

als er kennelijk zoveel content in één javascript moet staan, is dat al de allergrootste ontwerpfout dat er dus kennelijk geen enkele rekening gehouden is met de laadtijd, geen odulair opzet of mogelijk geschapen voor het dynamisch laden ..
overigens, zelfs een enorme javascript engine vol met functionaliteiten hoeft geen 650Kb groot te zijn, het kan niet anders dat hier zowel applicatiecode als specifieke templates en content door de aplicatie hardcoded verweven zijn ... ook dat is al een (grote) ontwerpfout

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1