0

組み合わせ、縮小、gzip、およびキャッシュに関するすべての懸念事項は別として。スクリプトを非同期としてマークしても、スクリプトの実行順序は維持されますか?

jqueryが上部に含まれ、その後にjqueryの存在を前提とする他のスクリプトが下部に含まれているページがあるとします。

jqueryスクリプトをasync属性でマークすると、ブラウザーが引き続きhtmlを解析することがわかります。ただし、ブラウザは、他のスクリプトが実行される前にjqueryが読み込まれることを保証しますか、それとも順序が狂って未定義になる可能性があり$ますか?

4

2 に答える 2

1

スクリプトを非同期にすることは、スクリプト自体の同期実行を除いて、同期実行を保証するものではありません。

<script async src="jquery.js"></script>
<script>
    $.noop() // will definitely throw an error
</script>

<script async src="jquery.js"></script>
<script src="someOtherNonAsyncScript.js"></script>
<script>
    $.noop() // may or may not throw an error
</script>
于 2013-02-26T21:19:53.647 に答える
0

いいえ。非同期で実行されます。

async属性とdefer属性は、スクリプトの実行方法を示すブール属性です。(...)

http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-async

于 2013-02-26T21:24:33.047 に答える