1

私は次のようにJavascript onlaodを使用しました:

function check()
{
   var pic =  new Image();
   pic.src= "images/first.jpg";
   pic.onload =  function()
   {
     alert("Uploaded");
   }
}

これは、関数が呼び出される html コードです。

<input type="button" onclick="check()" value="Check" />

サファリとファイアフォックスの両方で動作します。しかし、IEでは、最初は機能しますが、次回チェックボタンをクリックすると機能しません。キャッシュがクリアされたときにも機能します。

ここでどのような問題が発生する可能性があるか教えてください。

前もって感謝します

4

2 に答える 2

9

これはIE8では問題にならないはずです。

IE6(7についてはよくわかりません)は、キャッシュされたファイルの使用に熱心であり、キャッシュから取得するときに負荷が正しく計算されません(これに関する興味深いバグレポートがあることを思い出します。MSのサイトで探してください)。

これは、キャッシュされたファイルのリロードを強制する[役に立たない]パラメータを追加することで解決できます。

pic.src = "images / first.jpg?nocache =" + Math.random()

于 2009-09-01T10:18:32.040 に答える
0

おそらくonload()は早すぎますか?

jqueryは関数を使用します

$(document).ready(function(){} 

これは、ページの読み込みが完了したときに実行されます。おそらく、同様の機能が必要です。

于 2009-09-01T10:25:00.907 に答える