質問

た...

<div data-role="page" data-cache="30"> 
<div data-role="page" data-cache="never">
<div data-role="page" data-cache="false"> 
<div data-role="page" cache="false">

もseemesを作---でんして、問題を修正して、サーバサイドによ...

.'?x='.rand()
.'&x='.rand()

たくない無効にするには、AJAXでのキャッシュ.については、より良いも...私何かが足りない?

おかげさ

Serhiy

役に立ちましたか?

解決

答えをありがとう。

これは、この紳士のGitHub Gistで見つけたコードです。

https://gist.github.com/921920

jQuery('div').live('pagehide', function(event, ui){
  var page = jQuery(event.target);

  if(page.attr('data-cache') == 'never'){
    page.remove();
  };
});

その要点にはバックボタンコードもありますが、バックボタンがうまく機能しているように見えるので、本当に必要ないようです...

他のヒント

デフォルト値を上書きしようとしましたか?

$(document).bind("mobileinit", function(){
    $.mobile.page.prototype.options.domCache = false;
});

これは私のために働きます

JQM RC1でデフォルトでページキャッシュがオフになっています。ページキャッシュに関するJQM Webサイトから以下の抽出を参照してください。 http://jquerymobile.com/demos/1.0rc1/docs/pages/page-cache.html

必要に応じて、JQuery Mobileに削除するのではなく、以前に訪問されたページをDOMに保持するように指示できます。これにより、ユーザーが戻ってくるとすぐにページをキャッシュできるようになります。

以前に訪問されたすべてのページをDOMに保持するには、ページプラグインのDomCacheオプションをTrueに設定します。

$.mobile.page.prototype.options.domCache = true;

または、特定のページのみをキャッシュするには、Data-Dom-Cache = "True"属性をページのコンテナに追加できます。

<div data-role="page" id="cacheMe" data-dom-cache="true">

また、このようにプログラム的にページをキャッシュすることもできます。

pageContainerElement.page({ domCache: true });

DOMキャッシングの欠点は、DOMが非常に大きくなり、一部のデバイスで減速とメモリの問題が発生する可能性があることです。 DOMキャッシュを有効にする場合は、DOMを自分で管理し、さまざまなデバイスで徹底的にテストするように注意してください。

方法1

このオAJAX

読む http://jquerymobile.com/demos/1.0a2/#docs/api/globalconfig.html

セット ajaxLinksEnabled falseにな負荷やキャッシュのページに、作品として通常のリンクです。

方法2

第二ついては、"削除キャッシュされます。できる結合 pagehide イベントで削除のページです。が存在しないDOMのページがロードされます。

でこのコードとしてのコンセプト:

$('.ui-page').live('pagehide',function(){ $(this).remove(); });

そのニーズに少します。上記のコードを打ち破る。でproovesすることができますを利用できるようにするにはページの続きに関する葉にサイトマップです。そのためを作成する必要がある特別なセレクタやバインドされた特定のページ。

また、結合することにより、ボタンのクリックまたはmousedownイベントを取得し、そのhrefを生成のページidでのdiv idを取り付けられています。前jqmを後輩達を見守ってくれています。

いつ買うのを無効にする方法キャッシュ又は強制力はない。

私の意見では、マーティンの答えは正しいものであるべきですが、JQueryモバイルキャッシュは最初のページをキャッシュします。 https://github.com/jquery/jquery-mobile/issues/3249

の動作を「パッチ」することを選択しました $.mobile.page.prototype.options.domCache = falsedata-dom-cache="true"

$(document).on('pagehide', function (e) {
    var page = $(e.target);
    if (!$.mobile.page.prototype.options.domCache
        && (!page.attr('data-dom-cache')
            || page.attr('data-dom-cache') == "false")
        ) {
        page.remove();
    }
});

これが私の実用的な解決策です:

$('.selector').live( 'pagebeforecreate', function () {
    $.mobile.urlHistory.stack = [];
    $.mobile.urlstack = [];
    $( '.ui-page' ).not( '.ui-page-active' ).remove();
});

私はそのトピックについて(ドイツ語のオリジナル)の記事を書きましたが、それが役立つかもしれません。Google翻訳された記事へのリンク

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top