我需要清除已加载选项卡的缓存,以便在下一个选项卡上单击它重新加载。来自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仅提取一次,而不是在“清除标签缓存”后重新提取。 (这里浏览器显示图像字节流的事实并不重要。)
js代码$("#tabs .ui-tabs-nav a")
正确选择2个选项卡,removeData()方法成功,但没有变化。
答案 0 :(得分:0)
如上所述答案
这将为您解决问题。您可以控制单个选项卡的缓存
在使用上述答案的情况下,请使用
$("#tabs").tabs({
cache: true,
itemOptions: [
{ cache: true },
{ cache: false }
]
});