4

在我的例子中,链接加载到一个特殊的 div 包装器中,这些包装器是其链接的父级。我通过pageload事件来做。

当 JQuery Mobile 执行 AJAX 请求时,一切正常。但是如果我点击访问的链接,jquery mobile 不会发送请求,而是显示空白页面,#page1换句话说,替换缓存中的内容。

我需要这些请求。

UPD

事件pagebeforeloadpageload不会出现在缓存案例中。=\

4

2 回答 2

6

您可以像这样指定不缓存页面:

<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 中禁用缓存

于 2013-02-19T07:06:04.000 回答
-1

请咬我的代码

$(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 );
    }
});
于 2013-02-19T08:48:44.510 回答