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;mobileinit事件document。没有任何效果。

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 回答