3

次の方法でサイトに外部の JavaScript をロードしています。

<script language="javascript" type="text/javascript">
document.write("<script src='http://remoteserver/banner.php?id=10&amp;type=image&amp;num=3&amp;width=200'><\/script>");
</script>

すべて問題ありませんでしたが、今日はリモート サーバーからの大きなタイムアウトで、サイトでのページの読み込みがブロックされていました。

javascript を非同期でロードしたり、ページのロード後にロードしたりする可能性はありますか? リモート サーバーが動作していないときにページの読み込みが中断されることは望ましくありません。

HTML5 にタグ async があることは知っていますが、機能していません。このスクリプトは JavaScript よりも複雑なためだと思います (「.php」で終わる)。また、この問題を防ぐために /body タグの前に JavaScript ファイルを配置する方がよいことはわかっていますが、これは最善の解決策ではありません。

他の解決策を知っていますか?

4

2 に答える 2

1

DOM ノードを作成することで簡単に実行できます。

<script>
    var scriptEl = document.createElement("script"); //Create a new "script" element.
    scriptEl.src = "http://remoteserver/banner.php?id=10&amp;type=image&amp;num=3&amp;width=200";
    // ^ Set the source to whatever is needed.
    document.body.appendChild(scriptEl);
    // Append the script element at the bottom of the body.
</script>
于 2013-08-10T20:38:21.910 に答える