1

私は現在、JavaScript より先に会社のロゴがダウンロードされるようにすることで、Web アプリケーションの認識を改善しようとしています。

imgこれを行うために、会社のロゴの要素の下に JavaScript 参照を移動しました。

例えば:

<img src="/Images/Logo.jpg" alt="My Company"/>
<script type="/Scripts/MyScripts.js"></script>

Google Chrome 開発者ツールを見ると、ロゴの呼び出しが行われていることがわかりますが、ページ上のすべての JavaScript がダウンロードされるまで「保留中」のままです。

なぜこうなった?会社のロゴが JavaScript より先に読み込まれるようにするにはどうすればよいですか?

4

2 に答える 2

1

$(window).loadjQuery を使用している場合は、スクリプトに使用してみてください。

$( window).load(function() {
    //put js code here
});

このサイトによると:

ウィンドウ読み込みイベントは、すべてのフレーム、オブジェクト、および画像を含む完全なページが完全に読み込まれる少し後に実行されます。したがって、画像やその他のページ コンテンツに関係する関数は、ウィンドウの load イベントまたは content タグ自体に配置する必要があります。

を使用してサイトに追加する必要がある個別のファイルについては、 を使用する<script src='path/to/file'>ことをお勧めし$.getScriptます。

$.getScript("path/to/file");

ここに$.getScript マニュアルがあります。

于 2015-02-26T09:25:43.090 に答える
0

ブラウザーは、HTML マークアップの解析中に JS ファイルが発生するとすぐに、JS ファイルをダウンロードして実行する必要があります (少なくともdocument.writeスクリプトで が使用される可能性があるため)。

最善の解決策の 1 つは、onloadページの準備ができたときにスクリプトを動的にロードするイベント ハンドラーを追加することです。

<script type="text/javascript">
window.addEventListener("load",function () {
    var elem = document.createElement("script");
    element.src = "file.js";
    document.body.appendChild(element);
, false);
</script>
于 2015-02-26T10:05:30.470 に答える