2011-07-07 13 views
4

こんにちは私はいくつかのjquery UIタブを持つページを持っていますが、クロムとFirefoxでうまく動作しますが、IEでは(テスト9)ページは内容が同じであることを再ロードします。私は、ユーザーがjquery uiのタブがIEでリフレッシュされない

<script> 
        $(function() { 
         $("#tabs").tabs({ 
          cookie: { 
           expires: 1 
          }, 
          ajaxOptions: { 
           error: function(xhr, status, index, anchor) { 
            $(anchor.hash).html(
             "Couldn't load this tab. We'll try to fix this as soon as possible."); 
           } 
          } 
         }); 
        }); 
        </script> 
+0

使用しているのjQueryのバージョンは何? jQuery v1.5以下はIE9と互換性がありません。また、問題を再現するためにマークアップやjsfiddleを投稿してください。 – Mrchief

+0

私はちょうど各タブのURLに乱数を追加して終了しました – BillPull

+1

:)キャッシュ?うわー! – Mrchief

答えて

2

あなたがajaxoptionsを設定しようとしたことがありにあったタブを覚えておくことはクッキーを使用していますので、 が、これは可能でしょうか?

$(document).ready(function(){ 
    $("#tabs").tabs({ 
    spinner: 'Loading...', 
    cache: false, 
    ajaxOptions: {cache: false} 
    }); 
}); 
2

私は同様の問題で苦労していますが、JQueryのタブはMSIEを除くすべてのブラウザで正常に動作します。問題は、リロードボタンを押してもMSIEがすべてのページ要求をキャッシュしていることが判明し、EXPIRESヘッダーパラメータを使用してサーバー側で解決しました。

私はPerlとCGIモジュールを使用して、私はすべてのページのパラメータとAJAX要求を満了した追加:

print $q->header({-type=>'text/html', -expires=>'now'}), $HTML_CONTENT; 

希望これが誰かを助けることができます!

1

ダスティの答えが正しいはずです。しかし、私の場合、IE6では動作しませんでした。私が見ることができないよう

$.ajaxSetup({ 
    cache: false 
}); 

これは私には完璧な理にかなって:その代わり、私はそうのようなキャッシュをオフにする(jqueryuiタブで使用されているjqueryのAJAX機能で使用される)グローバルなjQueryのajaxSetupを使用しましたなぜ私はこれまでブラウザにAjaxに具体的に何かをキャッシュさせたいのですが、これは要件に固有のことです。

すべてのページがルールに従うように、マスターページでこれを実行しました。不思議なことに、キャッシングはデフォルトではtrueに設定されていますが、Firefoxでは無視されます。一度のようなIEのように見えた(それは迷惑だったとしても)。

参考文献:

http://docs.jquery.com/Ajax/jQuery.ajaxSetup

http://docs.jquery.com/Ajax/jQuery.ajax

関連する問題