Middle
რა განსხვავებაა <script>, <script async> და <script defer> ტეგებს შორის?
sobes.tech AI
პასუხი AI-სგან
ჩვეულებრივი <script>: ბრაუზერი აჩერებს HTML-ის ანალიზს, იტვირთება და ასრულებს სკრიპტს, შემდეგ განაგრძობს ანალიზს. ბლოკავს გამოსახულებას.
<script async>: სკრიპტი იტვირთება ასინქრონულად, HTML-ის ანალიზი გრძელდება. სკრიპტი შესრულდება დაუყოვნებლივ შემდეგ ლოდინს და შეუძლია გაწყვეტს HTML-ის ანალიზს. სკრიპტების შესრულების სია არ არის გარანტირებული.
<script defer>: სკრიპტი იტვირთება ასინქრონულად, HTML-ის ანალიზი გრძელდება. სკრიპტის შესრულება გადადებულია HTML-ის ანალიზის და DOM-ის ხის მშენებლობის დასრულებამდე. სკრიპტები შესრულდება HTML-ში მათი გამოჩენის წესით.
| ატრიბუტი | HTML ანალიზი | სკრიპტის ლოდინი | სკრიპტის შესრულება | წესის დამოკიდებულება |
|---|---|---|---|---|
| არ არის | შეჩერება | ბლოკირებადი | ბლოკირებადი | გარანტირებული |
async |
გრძელდება | არ ბლოკავს | შეიძლება გაწყვიტოს ანალიზი | არ არის გარანტირებული |
defer |
გრძელდება | არ ბლოკავს | HTML-ის ანალიზის შემდეგ | გარანტირებული |