0

と を含むページがあり<div data-role="page" ...ます<div data-role="dialog" id="dialog-1" ...

そして、次のリンクでダイアログを開きます。<a href="#dialog-1" data-role="button" data-rel="dialog">Open Dialog</a>

ただし、メイン にもいくつかのリンクがありますpage。たとえば、これは私の index.html です。

...
<body>
<div data-role="page" id="Survey">              
    <div data-role="content">
        <a href="page2.html" data-role="button" data-transition="slide">Go to the next page</a>
        <a href="#dialog-1" data-role="button"  data-rel="dialog">Open Dialog</a>
    </div><!-- /content -->      
</div><!-- /page -->  
<div data-role="dialog" id="dialog-1">              
    <div data-role="content">
        Welcome!
    </div><!-- /content -->      
</div><!-- /dialog-->  
</body>
</html>

そして、これは私の page2.html です:

...
<body>
<div data-role="page" id="Survey2">              
    <div data-role="content">
        <a href="#dialog-1" data-role="button"  data-rel="dialog">Also you can open the dialog here</a>
    </div><!-- /content -->      
</div><!-- /page -->  

</body>
</html>

しかし、これが問題です。index.html を開き、リンクをクリックして、jQuery モバイルの Ajax ナビゲーション機能を使用して page2.html に移動し、リンクをクリックしますAlso you can open the dialog here。このリンクをクリックするとSurvey2ページが DOM から削除されます。ダイアログを閉じると、新しい page2.html がダウンロードされ、DOM に配置されます。

しかし、ダイアログが開いたときに page2.html が DOM から削除されないようにするにはどうすればよいですか?

4

1 に答える 1

2

このドキュメントをチェックしてください: http://jquerymobile.com/test/docs/pages/page-cache.html

pagehideページのみの削除を無効にする場合は、このページ#Survey2に属性を追加できます。data-dom-cache="true"

<div data-role="page" id="Survey2" data-dom-cache="true">              
    <!-- [...] -->      
</div><!-- /page --> 

ajax 経由で挿入されたすべてのページを保持したい場合は、これをグローバルに有効にすることができます。

jQuery.mobile.page.prototype.options.domCache = true;
于 2012-09-03T22:19:44.480 に答える