2012-02-09 15 views
2

私は受け取ったimage.phpという名前の画像(画像に透かしを入れます)とhttp://localhost/image.php?id=1というファイルを生成しています。PHPの動的画像をあらかじめ読み込みます

誰かがjavascript/jQueryを使用してこの画像をプリロードする方法を知っていますか?

イメージプリロードの一般的な提案を試みましたが、うまく動作しません。ファイルの名前が常に同じであるため、私はそのファイルを考えています。

アップデート:私は、画像をプリロードするthisアプローチを使用してい

(IMG要素を作成し、簡単なjqueryの機能)

は、1つの警告(おそらく重要なのは私はそれを述べている必要があります前面)は、私はCSSを介して背景として画像を使用している。

イメージがFirebugでフェッチされています。しかし、私がdivの背景として定義しようとすると、再びフェッチされます。私は実際の要素を再利用することはできませんが、私はブラウザのキャッシングが再びフェッチしてはならないという印象を受けています。あなたは、あなたのイメージのsrcとしてあなたのphpファイルのURLを任意の洞察力

+0

あなたは何を試してみました、「いけない仕事に思える」の非常に有用な評価ではありません問題。 –

+0

申し訳ありませんが、私は情報が欠落していることを認識したので、私はそれを更新します。 –

答えて

2

これはあなたのイメージに適切なヘッダを送信するのと同じくらい簡単でなければなりません:

から:http://www.php.net/manual/en/function.header.php#93377

// seconds, minutes, hours, days 
$expires = 60*60*24*14; 
header("Pragma: public"); 
header("Cache-Control: maxage=".$expires); 
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT'); 
-1

ため再び

感謝を使用していますか?名前が常に同じであるために問題が発生した場合は、ダミーのバージョン変数を追加するとキャッシュができなくなります。それはJavascriptを必要とするので、単純にsrc

"&v=" + "(new Date()).getTime()" 

に追加する、あなただけのページが読み込まれた後、これを行うことができます。また、バックエンドのPHPスクリプトによってページがレンダリングされた場合は、ページを提供する前にランダムなバージョン番号を挿入することもできます。

+0

質問を更新しました。しかし、私はCSSで画像を使用していますが、私はすでに差別化変数、画像IDを持っています。 –

+1

彼は実際に**キャッシングを望んでいます。問題は、キャッシュが現在行われていないことです。 – Brad

関連する問題