0

マルチページ テンプレートを使用してページを作成します。ロード時に各ページの Dom に開始ページ (index.aspx など) のみが残っていることを読みました。しかし、ページparent.aspxの子である私の他のページ(例:child.aspx)で、parent.aspxページのdom要素を見ることができます。ブレッドクラムは次のとおりです: Index--->parent--->child, おそらく、親ではなく index dom コンテンツのみを表示する必要があります。これは、なぜページがこのようなものなのか、どうすればそれを処理できるのか疑問に思います.Thanks.

アップデート:

表示ごとにすべてのページをリロードしたいだけです。つまり、DOM を完全にクリアし、最初からコンテンツをロードします。ctrl+f5 を押してキャッシュなしでページをロードしたときのように。これはJQMで可能ですか?

インデックス.aspx:

    <form id="form1" runat="server" dir="rtl">
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode = "Conditional">
            <ContentTemplate>
        <asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager>
        <uc2:MblMyMessageBox ID="MblMyMessageBoxInfo" runat="server" ShowCloseButton="true" /> 
    <div data-role="page" id="home"> 
        <div data-role="header">
            <h1>header</h1>
        </div>
        <div data-role="content">   
            <ul data-role="listview" data-inset="true" data-filter="false">
                <li data-icon="false"><a href="AccountStatus.aspx">AccountStatus</a></li>
                <li data-icon="false"><a href="ConfirmPayment.aspx">ConfirmPayment</a></li>
            </ul>   
        </div>
    </div>
            </ContentTemplate>
    </asp:UpdatePanel>
</form>

AccountStatus.aspx:

 <div data-role="page" id="accountStatus">
    <div data-role="header">
        <h1>Header</h1>
    </div><!-- /header -->
    <div data-role="content">   
        <ul data-role="listview" data-inset="true" data-filter="false">
            <li data-icon="false"><a href="BalancePage.aspx" data-prefetch="true">balance</a></li>
            <li data-icon="false"><a href="InvoicePage.aspx">invoice</a></li>
        </ul>           
    </div><!-- /content -->
    <div data-role="footer">
        <p><a href="Index.aspx">back</a></p>
    </div><!-- /footer -->
 </div><!-- /page -->   

accountStatus ページの dom 要素から index のコンテンツを削除することが私の目的です。

4

1 に答える 1

2

ユーザーが移動したすべてのページが dom に追加されます。ドキュメントを参照してください。ただし、jQM には、DOM が大きくなってブラウザーの速度が低下するのを防ぐメカニズムもあります。DOM から古い要素が削除される場合と削除されない場合があります。DOM 要素が自動的に削除されることを信用しないことをお勧めします。移動先のページを本当に削除したい場合は、たとえば次のようにバインドできます。

$(document).one("pageshow",function(){
     $(document).one("pagehide",function(){
          $("#pageId").remove();
     });
});

pageId は、に与える ID です<div data-role="page" id="pageId">

更新された質問の編集: リンクをたどるときにページ全体をリロードするには:

他のドメインを指すリンク、または rel="external"、data-ajax="false" または target 属性を持つリンクは、Ajax では読み込まれません。代わりに、これらのリンクによってページ全体が更新され、遷移のアニメーションは表示されません。

ソース: jQuery モバイル ドキュメント

または、次のグローバル変数で変更できます。

$.mobile.ajaxEnabled = false;
于 2012-09-29T09:53:18.123 に答える