Home >Web Front-end >JS Tutorial >Common mistake to avoid while loading a file synchronously using script tag

Common mistake to avoid while loading a file synchronously using script tag

WBOY
WBOYOriginal
2024-07-20 12:44:471159browse

You might think that loading a script synchronously would make the next line of code execute after the script has downloaded, right? But that's not what synchronous loading of javascript file means. The confusion arises when you're comparing async vs sync vs defer strategies of loading a particular file.

More on loading a javascript file in async vs sync vs defer manner at the end of the post.

Here we first talk w.r.t code execution. To execute the lines of code after the script has downloaded successfully, you can use onload attribute on script tag. Refer the code snippet below:

<html>

<head>
    <title>Sync Script Tag</title>
</head>

<body>
    <h1>Load script sync.</h1>
</body>
<script>
    function  afterLoad() {        
        console.log('script loaded successfully.') // executes after script has loaded   
    }    
    function  sync_load()  {        
        console.log('sync_load...')         
        var  s  =  document.createElement('script');        
        s.type  =  'text/javascript';        
        s.async  =  false; // load synchronously       
        s.onload  =  afterLoad;        
        s.src  =  "https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js";        
        var  x  =  document.getElementsByTagName('script')[0];        
        x.parentNode.insertBefore(s,  x);            
    }    
    console.log('JS entry')     
    sync_load();    
    console.log('next tick') // this executes before after_load 
</script>

</html>

Output:

Common mistake to avoid while loading a file synchronously using script tag

Now, coming back to async vs sync vs defer strategy, please refer to the image below via stackoverflow:

Common mistake to avoid while loading a file synchronously using script tag

In this case, the difference between async vs sync comes into play w.r.t parsing HTML file. Remember that!

Happy coding ✨

The above is the detailed content of Common mistake to avoid while loading a file synchronously using script tag. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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
Previous article:I Need HelpNext article:I Need Help