【问题标题】:jQuery-ui tabs: clear cachejQuery-ui 选项卡:清除缓存
【发布时间】:2013-06-26 14:26:30
【问题描述】:

我需要清除已加载选项卡的缓存,以便在下一个选项卡单击时重新加载。 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个tab,removeData()方法成功,但是没有变化。

【问题讨论】:

  • 附带说明,我认为 jquery-ui (tabs) 小部件应该提供处理缓存的 api 方法。

标签: jquery jquery-ui jquery-ui-tabs


【解决方案1】:

正如这里提到的答案

JQuery UI Tabs caching

这将为您解决问题。您可以控制单个选项卡的缓存

在您使用上述答案时,请使用

$("#tabs").tabs({
cache: true,
itemOptions: [
    { cache: true },
    { cache: false }
]
});

【讨论】:

    猜你喜欢
    • 2012-02-06
    • 2012-04-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多