/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Spørgsmål "eksterne" JavaScripts?
Fra : MooreHojer


Dato : 25-09-08 22:32

Hej NG

Har lige et par hurtige spørgsmål om brug af seperate js-filer som jeg håber der er nogen der kan svare på.

1) Indlæses den eksterne fil sammen med "hovedsiden" eller først ved brug?

2) Er der forskel på performance ved at have JavaScript i henholdsvis "hovedsiden" og seperat side? (ved 100+ liniers JS)

3) Skal den seperate js-fil hedde '.js' til sidst eller er der "frit slag"?


Har det nogen betydning hvilken browser man bruger eller er svaret, på ovenstående 3 spørgsmål, det samme for "alle" browserne?


Har forsøgt at google men synes ikke jeg kunne finde noget så jeg håber der er nogle eksperter herinde der kan hjælpe

--
MooreHojer

 
 
Birger Sørensen (25-09-2008)
Kommentar
Fra : Birger Sørensen


Dato : 25-09-08 22:55

Efter mange tanker skrev MooreHojer:
> Hej NG
>
> Har lige et par hurtige spørgsmål om brug af seperate js-filer som jeg håber
> der er nogen der kan svare på.
>
> 1) Indlæses den eksterne fil sammen med "hovedsiden" eller først ved brug?
>
> 2) Er der forskel på performance ved at have JavaScript i henholdsvis
> "hovedsiden" og seperat side? (ved 100+ liniers JS)
>
> 3) Skal den seperate js-fil hedde '.js' til sidst eller er der "frit slag"?
>
>
> Har det nogen betydning hvilken browser man bruger eller er svaret, på
> ovenstående 3 spørgsmål, det samme for "alle" browserne?
>
>
> Har forsøgt at google men synes ikke jeg kunne finde noget så jeg håber der
> er nogle eksperter herinde der kan hjælpe

Der er en defer atrtribute på script tagget. Den kan hjælpe dig med at
finde det du leder efter på google. Har ikke lige link liggende til
det...

Defer udsætter (i hvert fald i teorien) kørsel af script til efter
siden er loaded - ellers hentes/køres de sideløbende med resten af
siden.
Defer er beregnet til brug hvor du skriver til documentet fra
javascript - og til det skal siden være hentet først. Script kan også
referere til elementer på siden - det er også en god idé at have hentet
siden før den slags anvendes.

Hvis hukommelsen ikke svigter, er der forskel på om script er i
html-filen eller i separat fil, og også forskel på browsere.

Men slå det hellere op...

Birger



Stig Johansen (25-09-2008)
Kommentar
Fra : Stig Johansen


Dato : 25-09-08 23:09

MooreHojer wrote:

> Hej NG
>
> Har lige et par hurtige spørgsmål om brug af seperate js-filer som jeg
> håber der er nogen der kan svare på.
>
> 1) Indlæses den eksterne fil sammen med "hovedsiden" eller først ved brug?

Ja.

> 2) Er der forskel på performance ved at have JavaScript i henholdsvis
> "hovedsiden" og seperat side? (ved 100+ liniers JS)

Det kommer an på hvad du mener med performance.
Selve udførelsen af Javascriptet er det samme, men hvis det ligger i en
separat fil kræver det ekstra opslag på serveren.

Hvis det er samme javascript på flere sider, er det en fordel at have den i
separat fil, da den derved vil ligge i browserens cache.

> 3) Skal den seperate js-fil hedde '.js' til sidst eller er der "frit
> slag"?

Både ja - filnavnet er ligegyldigt, det er content typen der fortæller hvad
det er.

Binding mellem filernes endelser og content type konfigureres på serveren.
Her vil .js typisk blive mappet til application/x-javascript.

Hvis det er dynamisk (ASP/PHP eller lign) kan man også levere Javascript og
sætte Content typen inde i scriptet.

> Har det nogen betydning hvilken browser man bruger eller er svaret, på
> ovenstående 3 spørgsmål, det samme for "alle" browserne?

Hvis vi ser bort fra de browsere, der ikke understøtter Javascript, må
svaret være ja.

Der kan muligvis være noget bræk med tidligere versioner af IE.
Jeg ved i hvert fald den engang insisterede på, at en svg fil _skulle_ have
endelsen .svg i URL'en. Det var lidt noget hø at simulere i dynamiske
miljøer.

--
Med venlig hilsen
Stig Johansen

MooreHojer (25-09-2008)
Kommentar
Fra : MooreHojer


Dato : 25-09-08 23:36

>> 1) Indlæses den eksterne fil sammen med "hovedsiden" eller først ved brug?
>
> Ja.

Det var jo dejligt præcist
Hvilken del galdt dit ja?


> Det kommer an på hvad du mener med performance.

Jeg tænker primært på brugerens oplevelse af hvor hurtigt siden kommer frem.


> Hvis det er samme javascript på flere sider, er det en fordel at have den i
> separat fil, da den derved vil ligge i browserens cache.

Nice


> Hvis det er dynamisk (ASP/PHP eller lign) kan man også levere Javascript og
> sætte Content typen inde i scriptet.


Lige præcis tilfældet


--
MooreHojer

Stig Johansen (26-09-2008)
Kommentar
Fra : Stig Johansen


Dato : 26-09-08 06:24

MooreHojer wrote:

>>> 1) Indlæses den eksterne fil sammen med "hovedsiden" eller først ved
>>> brug?
>>
>> Ja.
>
> Det var jo dejligt præcist
> Hvilken del galdt dit ja?

Ok, det kunne vlre man skulle læse hele spørgsmålet
Det var ja til:
Indlæses den eksterne fil sammen med "hovedsiden"


>> Det kommer an på hvad du mener med performance.
>
> Jeg tænker primært på brugerens oplevelse af hvor hurtigt siden kommer
> frem.

Det er svartiden på serveren, sammen med indholdet af javascriptet, der
afgør hastigheden.
Firefox og IE starter separate tråde til hentning af .js m.v. så det sker
mere eller mindre 'samtidigt'.
Hvis Javascriptet ikke ændrer indhold, vil man se siden 'straks'.

Hvis man derimod bruger en eller anden helvedesmaskine, der først skal
rekonfigurere browseren/DOM etc, så bliver siden langsom på ældre maskiner.

Formentlig også på de nye subnotes, hvor man sparer strøm og kører med noget
langsommere CPU'er.

Måske også på desktoppen. Jeg har lige set der er kommet en lille frækkert
med en Atom processor. Dér er vi 'tilbage' til 1,6 GHz, enkelt core osv.

>> Hvis det er samme javascript på flere sider, er det en fordel at have den
>> i separat fil, da den derved vil ligge i browserens cache.
>
> Nice
>
>> Hvis det er dynamisk (ASP/PHP eller lign) kan man også levere Javascript
>> og sætte Content typen inde i scriptet.
>
> Lige præcis tilfældet

Her skal du være opmærsom på, at cache funktionen hænger sammen med nogle
headers.
Det foregår ved at serveren sender en Last-Modified sammen med data.
Browseren husker denne og sender en If-Modified-Since ved efterfølgende
requests.

Disse ting skal man selv styre i hhv ASP/PHP hvis man ønsker at udnytte
cachen.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste