1 jquery jquery-ui jquery-ui-tabs
我正在使用jQuery UI选项卡来显示数据组.使用AJAX检索每个选项卡的内容.标签内容无法缓存.在v 1.10之前,我们使用Tabs cache属性和ajaxOptions cache属性来控制缓存.一切都很酷.
随着升级到1.10,这两个参数已被删除.可以使用beforeLoad事件来实现该功能.所以这是新的标签代码......
$(function () {
$("#tripYears").tabs({
active: 0,
beforeLoad: function( event, ui ) {
ui.ajaxSettings.cache = false;
}
});
});
Run Code Online (Sandbox Code Playgroud)
这似乎适用于IE以外的所有浏览器.我已经使用IE版本8和10进行了测试.Chrome,Firefox,Opera和Safari根本不会缓存选项卡数据.希望有人能指出我正确的方向.
在加载默认的Ajax选项卡时,每次切换回选项卡时都会重新加载Ajax."缓存"参数是为了防止这种情况,但它现在已被弃用,但是当jQueryUI指出你可以使用beforeLoad滚动自己.
您似乎试图让浏览器缓存Ajax本身.但是,选项卡的内容已经存在于DOM中,因此当您返回到先前加载的选项卡时,实际上您根本不需要发出Ajax请求.
你只想阻止jQuery重新加载该标签的内容.所以这样的事情会阻止:
$("#tabs").tabs({
beforeLoad: function (event, ui) {
if ($(ui.panel).html()) { // If content already there...
event.preventDefault(); // ...don't load it again.
}
}
});
Run Code Online (Sandbox Code Playgroud)
这完全在jQueryUi/jQuery中,因此不依赖于任何浏览器Ajaxy的东西.
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |