1

私はこのケースを探し回って近づいてきましたが、それを終わらせるのに問題があります.

グラフを作成する PHP スクリプトがあります。これは、png img を作成し、ヘッダーを使用して画像をページに表示することによって行われます。

私は次のようなことができます:

$('#img').attr('src', 'url.php?make_graph=1');

そして、これは機能します。問題は、作成に1分以上かかるグラフがいくつかあり、その間、画像が空白になり、Webページが何もしていないように見えることです。

画像をプリロードする方法を見つけましたが、それを Web ページに適用する方法は見つかりませんでした (実際にはスタック オーバーフローから)。できます:

$('<img/>', {
    'src': 'url.php....',
    'load': function(){ alert("loaded!"); }
}); 

私の質問は、このような方法で画像を読み込んで、ページ上の既存の画像に適用できますか? その文が非常に明確かどうかはわかりません....スクリプトから作成されたプリロードされた画像を実際に表示できる部分がありません。画像の保存や iframe の使用は、できれば避けたいと考えています。

どんな助けのためのタンク。

4

1 に答える 1

0

ロードしたら、画像 src を舞台裏でロードしたのと同じ場所に設定すると、(理論的には) キャッシュから取得され、ユーザーに表示されます。

$("<img>", {
    "src": "url.php...",
    "load": function() {
        alert("loaded!");
        $("#foo").attr("src", "url.php...");
    }
});​

これが私がまとめた例です。最初に 1 つの画像をページにロードし、次に別の画像をバックグラウンドでロードします。アラート メッセージを確認すると、src を変更して画像を入れ替えます。Chrome dev tools を使用して、キャッシュからイメージをプルすることを確認しました。 http://jsfiddle.net/uVFLD/1/

この問題を解決する別の方法があるかもしれませんが、それが頭に浮かんだ最初の解決策でした。

于 2012-04-11T05:45:03.957 に答える