在我的例子中,链接加载到一个特殊的 div 包装器中,这些包装器是其链接的父级。我通过pageload
事件来做。
当 JQuery Mobile 执行 AJAX 请求时,一切正常。但是如果我点击访问的链接,jquery mobile 不会发送请求,而是显示空白页面,#page1
换句话说,替换缓存中的内容。
我需要这些请求。
UPD
事件pagebeforeload
,pageload
不会出现在缓存案例中。=\
在我的例子中,链接加载到一个特殊的 div 包装器中,这些包装器是其链接的父级。我通过pageload
事件来做。
当 JQuery Mobile 执行 AJAX 请求时,一切正常。但是如果我点击访问的链接,jquery mobile 不会发送请求,而是显示空白页面,#page1
换句话说,替换缓存中的内容。
我需要这些请求。
UPD
事件pagebeforeload
,pageload
不会出现在缓存案例中。=\
您可以像这样指定不缓存页面:
<div data-role="page" id="page-detail" data-dom-cache="false">
....
</div>
更新
事实上,它data-dom-cache=false
可以用于页面、链接和对话框
文档http://jquerymobile.com/demos/1.2.0/docs/api/data-attributes.html
如果您想避免对所有页面进行数据完善,请查看此处:如何在 jQuery Mobile UI 中禁用缓存
请咬我的代码
$(document).on('pagebeforeload', function(event, data) {
var url = data.url;
if (url.toLowerCase().indexOf("office") >= 0) {
event.preventDefault();
$.get(data.absUrl, {}, function(res){
_this = $(res);
if (_this.attr('data-id')>0) {
var card_id = _this.attr('data-id');
$('#detail-'+card_id).empty().append(_this).trigger('create');
}
});
data.deferred.reject( data.absUrl, data.options );
}
});