次のタブをクリックするとリロードされるように、ロードされたタブのキャッシュをクリアする必要があります。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() メソッドは成功しますが、変更はありません。