Table of Contents
Should CSS always precede JavaScript?
Conclusion
Home Web Front-end CSS Tutorial Should JavaScript Precede CSS for Optimal Web Page Rendering Performance?

Should JavaScript Precede CSS for Optimal Web Page Rendering Performance?

Nov 29, 2024 pm 04:14 PM

Should JavaScript Precede CSS for Optimal Web Page Rendering Performance?

Should CSS always precede JavaScript?

Often advice is given that CSS should be included before JavaScript in the <head> of a web page. This is supported by the reasoning that the rendering thread will have all the style information it needs to render the page, and the JavaScript engine will have to parse all included JavaScript before continuing, resulting in a delay in page rendering.

However, practical testing shows a different result. The JavaScript interpreter appears to wait until all CSS is downloaded before starting, meaning that including JavaScript first can lead to a more efficient use of the JavaScript thread's time.

To explore this further, let's look at specific examples. Consider the following page structure:

&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;test&lt;/title&gt;
    &lt;script type='text/javascript'&gt;
      var startTime = new Date();
    &lt;/script&gt;
    &lt;link href=&quot;http://10.0.0.50:8081/test.css?delay=500&quot; type=&quot;text/css&quot; rel=&quot;stylesheet&quot;&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;http://10.0.0.50:8081/test2.js?delay=400&amp;jsdelay=1000&quot;&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;
      Elapsed time is:
      &lt;script type='text/javascript'&gt;
        document.write(new Date() - startTime);
      &lt;/script&gt;
    &lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
Copy after login

When the CSS is included first, the page takes 1.5 seconds to render. When the JavaScript is included first, the page takes 1.4 seconds to render. This experiment demonstrates that prioritizing JavaScript can lead to faster page rendering.

Conclusion

Based on practical testing, the recommendation to place CSS includes before JavaScript includes may not be optimal for performance in modern browsers. Including JavaScript first appears to improve efficiency by providing more time for the JavaScript thread to operate. It is important to note that this is specific to the context of essential JavaScript and CSS inclusions in the <head> of the document.

The above is the detailed content of Should JavaScript Precede CSS for Optimal Web Page Rendering Performance?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Adding Box Shadows to WordPress Blocks and Elements Adding Box Shadows to WordPress Blocks and Elements Mar 09, 2025 pm 12:53 PM

Adding Box Shadows to WordPress Blocks and Elements

Create a JavaScript Contact Form With the Smart Forms Framework Create a JavaScript Contact Form With the Smart Forms Framework Mar 07, 2025 am 11:33 AM

Create a JavaScript Contact Form With the Smart Forms Framework

Create an Inline Text Editor With the contentEditable Attribute Create an Inline Text Editor With the contentEditable Attribute Mar 02, 2025 am 09:03 AM

Create an Inline Text Editor With the contentEditable Attribute

Making Your First Custom Svelte Transition Making Your First Custom Svelte Transition Mar 15, 2025 am 11:08 AM

Making Your First Custom Svelte Transition

Comparing the 5 Best PHP Form Builders (And 3 Free Scripts) Comparing the 5 Best PHP Form Builders (And 3 Free Scripts) Mar 04, 2025 am 10:22 AM

Comparing the 5 Best PHP Form Builders (And 3 Free Scripts)

File Upload With Multer in Node.js and Express File Upload With Multer in Node.js and Express Mar 02, 2025 am 09:15 AM

File Upload With Multer in Node.js and Express

Show, Don't Tell Show, Don't Tell Mar 16, 2025 am 11:49 AM

Show, Don't Tell

Working With GraphQL Caching Working With GraphQL Caching Mar 19, 2025 am 09:36 AM

Working With GraphQL Caching

See all articles