Archief - Stylesheets voor scripts of erna in head?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

-BVR-

Legacy Member
Jullie denken allemaal waarschijnlijk onmiddellijk: eerst stylesheets en dan pas scripts! Zo gaat dat al jaren! Ook als je ernaar googelt, vind je bijna enkel zulke antwoorden. Toch is er een duidelijke bron die dit tegenspreekt.

Lees het zeker eens door en laat je mening hier achter! Is the recommendation to include CSS before JavaScript invalid? - Stack Overflow

Merk op: het gaat hier over gevallen wanneer je niet binnen <body /> kan werken maar enkel binnen <head />

bealzebub

Legacy Member
Nee, wij weten dat scripts die goed geschreven zijn (en dus geen document.write doen) op het einde van de body komen (juist voor je de <body> tag afsluit) en je ze indien mogelijk deferred gaat laden:

The problem caused by scripts is that they block parallel downloads. The HTTP/1.1 specification suggests that browsers download no more than two components in parallel per hostname. If you serve your images from multiple hostnames, you can get more than two downloads to occur in parallel. While a script is downloading, however, the browser won't start any other downloads, even on different hostnames.

In some situations it's not easy to move scripts to the bottom. If, for example, the script uses document.write to insert part of the page's content, it can't be moved lower in the page. There might also be scoping issues. In many cases, there are ways to workaround these situations.

An alternative suggestion that often comes up is to use deferred scripts. The DEFER attribute indicates that the script does not contain document.write, and is a clue to browsers that they can continue rendering. Unfortunately, Firefox doesn't support the DEFER attribute. In Internet Explorer, the script may be deferred, but not as much as desired. If a script can be deferred, it can also be moved to the bottom of the page. That will make your web pages load faster.
Vanop Best Practices for Speeding Up Your Web Site

-BVR-

Legacy Member
bealzebub zei:
Nee, wij weten dat scripts die goed geschreven zijn (en dus geen document.write doen) op het einde van de body komen (juist voor je de <body> tag afsluit) en je ze indien mogelijk deferred gaat laden:


Vanop Best Practices for Speeding Up Your Web Site
Het gaat net over de gevallen wanneer dat niet mogelijk is. Stel je hebt enkel toegang tot een imported html of php van <head>, welke volgorde gebruik je dan?

adrianhates

Legacy Member
geef is scenario's waar dat echt het geval is?
hebt ge de comments ook gelezen?

In total, roughly 85% of desktop browsers in use today support speculative loading. Putting scripts before CSS will have a performance penalty on 15% of users globally; YMMV based on your site's specific audience. (And remember that number is shrinking.)

-BVR-

Legacy Member
adrianhates zei:
geef is scenario's waar dat echt het geval is?
hebt ge de comments ook gelezen?

Geen idee, ben me gewoon een what-if scenario aan het inbeelden.

En ja ik heb alles gelezen. Hij zegt inderdaad zelf dat voor +- 15% van de gebruikers (degenen die nog een oude browser gebruiken (vooral <ie8)) scripts voor css laden ervoor zal zorgen dat de website trager laadt (of lijkt te laden), maar voor de browsers die speculative parsing ondersteunen is er wel een gain.

Mijn bedoeling is helemaal niet jullie te overtuigen dat je scripts voor je css moet plaatsen (vandaar "discussie"), maar het is zeker het discussieren waard. :)

adrianhates

Legacy Member
waarom is het nog het discussieren waard? Ik trek mij voor te beginnen al niet veel meer aan van IE6 bijvoorbeeld.
Gaat ook niet zo heel lang meer duren vooral IE7 en zelfs 8 eruit zijn en te verwaarlozen zijn, waardoor dus die 15% steeds zal dalen en nog meer te verwaarlozen valt.

W0utR

Legacy Member
Juist even gekeken naar onze stats 19.81% van onze bezoekers in mainland China gebruikt nog IE6, en dat gaat dan toch over een goeie 90.000 bezoekers, ter vergelijking, IE7 is maar 4.62% en IE8 een goeie 35%.
Dus afhankelijk van welke markt je wilt, IE6 word nog altijd gebruikt, dus zo snel zou ik het nog niet verwaarlozen.

-BVR-

Legacy Member
adrianhates zei:
waarom is het nog het discussieren waard? Ik trek mij voor te beginnen al niet veel meer aan van IE6 bijvoorbeeld.
Gaat ook niet zo heel lang meer duren vooral IE7 en zelfs 8 eruit zijn en te verwaarlozen zijn, waardoor dus die 15% steeds zal dalen en nog meer te verwaarlozen valt.

Daar zeg je't al. Voor JOU maakt IE-gebruikers misschien niets uit, maar voor andere mensen misschien wel (Cf. Wouter). En jij zou in je head dan eerst je scripts laden en dan pas je CSS?

adrianhates

Legacy Member
BramVroy zei:
Daar zeg je't al. Voor JOU maakt IE-gebruikers misschien niets uit, maar voor andere mensen misschien wel (Cf. Wouter). En jij zou in je head dan eerst je scripts laden en dan pas je CSS?

by default zet ik altijd eerst mijn css en dan javascript, maar ik zet mijn javascript ook altijd net voor </body> tenzij het niet anders gaat :)

Met niet anders gaan bedoel ik als het dynamisch geïmplementeerd wordt, zoals javascript dat er soms bij moet. Bijvoorbeeld bij ajax datatables.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan