2017-07-10 4 views
0

である私は、次のHTMLファイルを持っていますロードスクリプト、最初の使用の「SRC」、第二は、インラインスクリプト

second 
first 

2番目のスクリプトの前に最初のスクリプトを完了します。 これはパフォーマンスが重要な、はるかに複雑なコードの単純化です。したがって、私はdocument.writeを使用するか、またはfirst.onloadに登録し、2番目のスクリプトのみを追加することができます。両方とも私が避けたいパフォーマンス上の問題があります。

+0

べきか?特に外部スクリプトではなく、スクリプトの読み込み後に実行したいコードがある場合はどうすればいいですか? – Bergi

+0

スクリプトを実行したいだけの場合は、何も問題ありません。ただし、スクリプトをDOMに早期に追加すると、スクリプトストリーミングスレッドはスクリプトを早期に解析することができます。 https://blog.chromium.org/2015/03/new-javascript-techniques-for-rapid.html – Elad

+0

を参照してください。ただし、remote.jsの後に読み込まなければならない別のスクリプトを実行したくない場合は、インラインコード? – Bergi

答えて

0

似たような問題を抱えている可能性のある人は、Data URLを使ってまともな解決策を見つけました。 考え方は、src属性を使用してスクリプトの内容を設定することです。ブラウザはそれをURLと見なし、したがって動作は一貫しています。

ライン

second.appendChild(document.createTextNode(`console.log("second");`)); 

あなたは `first.onload`の問題は何だと思います

second.setAttribute("src","data:text/javascript,"+`console.log("second");`) 
関連する問題