私はJQuery UI Tabsを使用しています。ここで提案されているように、各タブのコンテンツを Ajax でロードします: http://jqueryui.com/tabs/#ajax
問題: ユーザーがタブ A、次にタブ B、そしてもう一度タブ A をクリックすると、タブ A のコンテンツが 2 回読み込まれます。
JQuery UI タブのコンテンツをキャッシュすることは可能ですか?
私はJQuery UI Tabsを使用しています。ここで提案されているように、各タブのコンテンツを Ajax でロードします: http://jqueryui.com/tabs/#ajax
問題: ユーザーがタブ A、次にタブ B、そしてもう一度タブ A をクリックすると、タブ A のコンテンツが 2 回読み込まれます。
JQuery UI タブのコンテンツをキャッシュすることは可能ですか?
beforeLoad
イベントを使用してみてください:
$(".selector").tabs({
beforeLoad: function(event, ui) {
// if the target panel is empty, return true
return ui.panel.html() == "";
}
});
beforeLoad(イベント、ui)
beforeActivate イベントの後、リモート タブがロードされようとしているときにトリガーされます。タブ パネルがコンテンツをロードしないようにキャンセルできます。ただし、パネルは引き続きアクティブになります。このイベントは Ajax リクエストが行われる直前にトリガーされるため、ui.jqXHR と ui.ajaxSettings を変更できます。
注: ui.ajaxSettings が提供されており、変更できますが、これらの設定の一部は jQuery によって既に処理されています。たとえば、事前フィルタが適用され、データが処理され、タイプが決定されました。beforeLoad イベントは同時に発生するため、jQuery.ajax() からの beforeSend コールバックと同じ制限があります。