2016-03-21 5 views
1

Internet Explorerで動作する必要があるチャットをしようとしています。コンテンツリフレッシュ用のコードは以下の通りです(より良い方法で作成できますが、他のすべてのブラウザで動作します...)Internet Explorerでページコンテンツが更新されない(ブラウザを再オープンした後にのみ)

IEではスクリプトが機能していますまだ同じ。私がファイル "chat_vypis.php"に何かを書いても... F5でそれをリフレッシュしようとすると、それはうまくいきません... "chat_vypis.php"ではSELECTクエリとなり、結果はechoです。あなたはsdbt.mobydyk.czでそれをチェックすることができます。

ここでは、リフレッシュのためのスクリプトです、すべてのアドバイスありがとうございます!

<script type="text/javascript"> 
$(document).ready(function(){ 

    var auto= $('#chat'); 
    var refreshed_content; 
     refreshed_content = setInterval(function(){ 
     auto.load("chat_vypis.php");}, 
     1000);          
     console.log(refreshed_content);          
     return false; 
}); 
</script> 
+0

あなたはlocation.reload()を試しましたか? – damitj07

+0

chat_vypis.phpへのリンクの後に乱数を追加して解決しました。解決策はこちら:http://stackoverflow.com/questions/1061525/jquerys-load-not-working-in-ie-but-fine-in-firefox-chrome-and-safari –

答えて

0

IEはおそらくajaxリクエストをキャッシュしていて、送信することさえありません。試してみてください:

$.ajaxSetup({ cache: false }); 

ドキュメントレディ機能の開始を行うことができます

0

2つのことに:

1)すべてのAJAXのキャッシュを無効にします。手動で "cache"を設定しないかぎり、同じページ内で行うすべてのajaxリクエストに対してすべてのjQueryキャッシュを無効にするため、これをやりたくないかもしれません。他のすべてのajaxリクエストではtrueです。

$(document).ready(function() { 
    $.ajaxSetup ({ 
     cache: false 
    }); 
}); 

2)あなたは)これはAJAXのキャッシュをオフにすると、とにかくすべての要求のために舞台裏で何をするかであることに注意して(別のページを毎回要求しているという考えにブラウザトリック:

<script type="text/javascript"> 
$(document).ready(function(){ 

    var auto= $('#chat'); 
    var refreshed_content; 
     refreshed_content = setInterval(function() { 
      auto.load("chat_vypis.php?_="+Math.floor((Math.random() * 1000000) + 1)); 
     }, 1000);          
     console.log(refreshed_content);          
     return false; 
}); 
</script> 

を(任意の出力が開かれる前に、上部の)理論的には、あなたはまた、サーバー側でこれを置くことができます(内容はCSSやJSある場合は特に)

<?php 
header("Cache-Control: no-cache"); 
header("Pragma: no-cache"); 

?> 

しかしIEは、通常はこれを無視します。

関連する問題