1

次のタブをクリックするとリロードされるように、ロードされたタブのキャッシュをクリアする必要があります。JQuery UI Tabs - Clear Cached Tabの解決策がうまくいかず、何が問題なのかわかりません。質問/回答は実際に使用されたコードを示していないため、セットアップは私のものとは少し異なる場合があります。

私のユースケースについてはhttp://jsfiddle.net/A3SHj/を参照してください。

私のセットアップコード:

$(function() {
  $( "#tabs" ).tabs({
    //see http://docs.jquery.com/UI/Tabs#option-cache
    cache:true, //make click only load page once
    ajaxOptions: { cache: false }, //but don't cache the ajax request!
    active:0 //first tab is active
  });
});

私のキャッシュクリア機能:

function clearTabsCache() {
  //see https://stackoverflow.com/questions/8797486/jquery-ui-tabs-clear-cached-tab
  $("#tabs .ui-tabs-nav a").removeData("cache.tabs");
}

たとえば、Chrome の開発者ツールを使用すると、[ネットワーク] パネルで、[リモート ページ] タブの PNG が 1 回だけ取得され、[タブ キャッシュのクリア] 後に再取得されないことがわかります。(ブラウザがイメージ バイト ストリームを表示するという事実は、ここでは重要ではありません。)

js コード$("#tabs .ui-tabs-nav a")は 2 つのタブを正しく選択し、removeData() メソッドは成功しますが、変更はありません。

4

1 に答える 1