2012-01-02 10 views
1

次のコードはChromeでのみ動作します。私はそれをすべての主要なブラウザで実行する必要があります。 FirefoxとIEは一度イメージを読み込みます。 Operaはそれをまったく読み込まない。このJavaScriptコードを移植可能にするにはどうすればよいですか?

screen.jpgファイルはCache-Control: no-cache, no-storeで送信されます。 jQueryのようなライブラリは使えません。大きすぎるためです。画像は毎回再要求されるように

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<title></title> 
<script type="text/javascript"> 
function refresh() 
{ 
    document.getElementById("screen").src = "screen.jpg"; 
    setTimeout("refresh()", 500); 
} 
</script> 
</head> 
<body style="margin:0" onload="refresh()"> 
<img id="screen" style="width:100%"/> 
</body> 
</html> 
+0

jQueryを縮小さが30キロバイトです。それは本当に「大きすぎますか? – darioo

+1

2分でサイズが大きすぎますが大きすぎて分かりません。 – rene

+1

argh - 'setTimeout'の文字列パラメータ! 'setTimeout(refresh、500)'にする必要があります。 – Alnitak

答えて

4

あなたは、ソースの最後に乱数を追加することができます

document.getElementById("screen").src = "screen.jpg?" + Math.random()*999999; 
+0

'Cache-Control'ヘッダはそれを不要にすると考えられています。 –

+0

はい、同じsrcを常に設定すると、ブラウザはファイルを再度要求しません。それは変わらないままです –

関連する問題