2011-11-11 3 views
0

データURIを使用して1ページを読み込み、scriptをHTMLの最後に付けます。画像srcの通常のURLを使用するのとは異なり、データはHTMLページのHTTPリクエストに直接ロードされます。データURIで画像の読み込みを遅らせるには?

このように、この方法で読み込まれた数百の画像データがあるので、scriptはページの最後にロードされます。

imateの読み込みに先立って、または非同期のどちらかでスクリプトを読み込みたいのですが、画像の読み込みを遅らせる方法はありますかdata

<div> 
    <img src="data:image/png; base64, .........." alt=""> 
    <img src="data:image/png; base64, .........." alt=""> 
    <img src="data:image/png; base64, .........." alt=""> 
</div> 
<script type="text/javascript" src="my-script.js"></script> 
+0

divや画像を隠すことができ、スクリプトがロードして表示されるか、または表示を使用してレイアウトをそのまま維持する – david

+0

画像は隠されていてもまだロードされますが、解決しません読み込みスクリプトの遅延の問題 – steveyang

答えて

0

この回答はかなり簡単です。イメージがページの読み込みと同期して読み込まれないようにするには、インラインイメージデータURIを使用しないでください。あなたはあなたのWebページをコード化した動作を得ています。

リモートイメージURL(非データURI)は非同期で読み込まれ、読み込み中にスクリプトを実行できます。

または、あなたのページの大きな文字列配列にすべてのデータURIを入れてから、別のJavaScriptを実行した後にjavascriptを使ってデータURIからイメージオブジェクトを構築することができます。

+0

最後の1つ - 大きな文字列の配列にURIを置く - ここではJSを使用してデータを持ち歩くことはできませんが、サイトはオフにしても画像はまったく受信されません。 – steveyang

+0

あなたはオプションが何であるか尋ねました。私たちはあなたにそれらを説明しています。あなたの状況に最も合ったオプションを選択するのはあなた次第です。膨大なデータURIを使用することは、まったく意味がありません。 Webブラウザは、この問題をうまく処理するようには設計されていませんでした。それらは、多くの定期的な画像URLの問題を処理するように設計されています。 – jfriend00

+0

確かです。醜いです。データURIが使用されるという制約の下で、非同期の次のスクリプトをロードする完璧なソリューションはないようです。私はデータURIを中止し、他の解決策を検討してイメージの読み込みを高速化し、非同期スクリプトの読み込みを有効にします。 – steveyang

関連する問題