0

1.3.0 RC1を使用すると、「#subpage」のページをリロードした後、戻るボタンがどのページにも表示されません。

「#page2」ページをリロードするときに、最初のページに戻るボタンが表示されないようにする必要があることを理解しています。ただし、別のリンクをクリックして別のページに移動すると、戻るボタンが表示されますが、そうではありません。

再現手順:-サイトをページ1にロードします-2ページに移動して戻るボタンに注意します-ページをリロードします(「#page2」にあります)-ページ2に戻るボタンなしでロードします(正しい)-3ページに移動して通知します戻るボタンは表示されません

この時点で、戻るボタンが表示されると思います。さらに4、5、6ページに進んでも、戻るボタンが表示されることはありません。

data-add-back-btn="true"疑似ページコンテナに属性を追加しました。オブジェクトのイベントも追加$.mobile.page.prototype.options.addBackBtn = true;しました。何も機能しません。mobileinitdocument

4

2 に答える 2

0

これはうまくいくはずです。jQm 1.2 および 1.3 RC1 でテストしました。例を次に示します。

<!DOCTYPE html>
<html>
<head>
    <title>jQM Complex Demo</title>
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0"/>
    <link rel="stylesheet" href="http://jquerymobile.com/demos/1.3.0-rc.1/css/themes/default/jquery.mobile-1.3.0-rc.1.css" />
    <script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js"></script>      
    <script src="http://jquerymobile.com/demos/1.3.0-rc.1/js/jquery.mobile-1.3.0-rc.1.js"></script>    
</head>
<body>
    <div data-role="page" id="index">
        <div data-theme="a" data-role="header">
            <h3>
                First Page
            </h3>
            <a href="#second" class="ui-btn-right">Next</a>
        </div>

        <div data-role="content">

        </div>

        <div data-theme="a" data-role="footer" data-position="fixed">

        </div>
    </div> 
    <div data-role="page" id="second" data-add-back-btn="true">
        <div data-theme="a" data-role="header"> 
            <h3>
                Second Page
            </h3>
            <a href="#third" class="ui-btn-right">Back</a>          
        </div>

        <div data-role="content">

        </div>

        <div data-theme="a" data-role="footer" data-position="fixed">

        </div>
    </div> 
    <div data-role="page" id="third" data-add-back-btn="true">
        <div data-theme="a" data-role="header"> 
            <h3>
                Third Page
            </h3>
            <a href="#fourth" class="ui-btn-right">Next</a>
        </div>

        <div data-role="content">

        </div>

        <div data-theme="a" data-role="footer" data-position="fixed">

        </div>
    </div>  
    <div data-role="page" id="fourth" data-add-back-btn="true">
        <div data-theme="a" data-role="header">
            <h3>
                Fourth Page
            </h3>
        </div>

        <div data-role="content">

        </div>

        <div data-theme="a" data-role="footer" data-position="fixed">

        </div>
    </div>      
</body>
</html>   

必要に応じて、サンプルを送ってください。確認します。

于 2013-02-11T23:43:36.573 に答える
0
Can be done for web sites like this:

your starting page id = "pageIndex"

if you are using jquerymobile1.2.0.js, then modify the framework code like this:

    if ( o.addBackBtn &&
                role === "header" &&
                ***$page.jqmData( "url" ) !== "pageIndex"***) {

                // framework code modified for back button id: sheetal 08/02/2013

                if (backBtnId !== undefined) {
                    backBtn = $( "<a href='javascript:void(0);' class='ui-btn-left' data-"+ $.mobile.ns +"rel='back' data-"+ $.mobile.ns +"icon='arrow-l' id='" + backBtnId + "'>"+ o.backBtnText +"</a>" )
                        // If theme is provided, override default inheritance
                        .attr( "data-"+ $.mobile.ns +"theme", o.backBtnTheme || thisTheme )
                        .prependTo( $this );                    

                }else {

                    backBtn = $( "<a href='javascript:void(0);' class='ui-btn-left' data-"+ $.mobile.ns +"rel='back' data-"+ $.mobile.ns +"icon='arrow-l'>"+ o.backBtnText +"</a>" )
                    // If theme is provided, override default inheritance
                    .attr( "data-"+ $.mobile.ns +"theme", o.backBtnTheme || thisTheme )
                    .prependTo( $this );

                }
            }
于 2013-05-24T11:33:42.813 に答える