2017-08-10 8 views
2

これは私の最初の質問です。私はそれが正しいことを望んでいます。これまでのところ解決策を見つけることができなかった、私のいくつかのコーディングの友人、まだ十分な答えを尋ねた。JavaScript埋め込みコードの2つのスタイルの違いは?

私のサイドプロジェクトSaaSは、JavaScript埋め込みコードをウェブサイトにコピー/ペーストすることによって最適化されています。 GoogleアナリティクスやTwitterのような操作が必要です。

他の人たちのやり方を研究するとき、私はいつも以下の2つの方法のうちの1つを見ています。その違いは何ですか?

説明のために編集:読み込まれたスクリプトは両方とも外部サーバーにあります。

方法1:そのような「標準埋め込みスクリプト」:

<blockquote id="container">Hello!</blockquote> 
<script src="//some.saas.tld/widget.js"></script> 

これは、Twitterが使用するものであり、単に、その後<blockquote>要素

方法を変更するスクリプトを読み込むように見えます2:「ハッキングされた埋め込みスクリプト」:

<script> 
    var a = document.createElement('script'); 
    a.src = '//some.saas.tld/widget.js'; 
    parentNode.insertBefore(a); 
</script> 

(これは私が意味する埋め込みの種類を示すのには非常に基本的なものです - それはうまくいかず、blockquoteはこれに含まれません。例えば、Google Analyticsでは、 がそうです。

質問:一部のサービスで最初の方法を使用する理由と、なぜ2番目の方法を使用するのですか?私にとっては、同じ結果を生み出すようです。 PRO/CONとは何ですか?

ウェブサイトのコード内で作業したら、埋め込みコードを変更するのは本当に難しいので、私は尋ねています。だから、最初から正しく理解することが重要です。

ありがとうございます!

答えて

1

最初のローディングコールは、基本的には同期呼び出しです。これが完了していなければ、次のスクリプトをロードまたは実行することはできません。

ただし、2番目の手動スクリプトの読み込みは非同期です。スクリプトが完全にロードされなくても、他のスクリプトの実行とロードが可能になります。

詳細でこの動作を説明する良い記事があります - 私はそれは申し訳ありませんが、正解だとは思わない https://trevweb.me.uk/javascripthtml-synchronous-and-asynchronous-loading/

+0

- リンクをチェックアウトが。どちらの場合でも、ローディングタイプは次のように追加できます: メソッド1: '

関連する問題