1

JQMモバイルフレームワークを使用してナビゲートする予定の2つのページがあり、複数のページを計画しています。コードを整理するために、複数のページを異なるhtmlファイルに含めることにしました。次の画面ページの更新に移動すると、ページ CSS が読み込まれません。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Page 1</title>
<link rel="stylesheet"
    href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<script
    src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script type="text/javascript">
$(document).swipeleft(function() {
    $.mobile.changePage("page2.html");
});

</script>
</head>
<body>
    <div data-role="page" id="page1" data-dom-cache="true">
    <div data-role="header"></div>
        <div data-role="content">
            <div data-role="collapsible-set" data-theme="c" data-content-theme="d">
                <div data-role="collapsible">
                    <h3>Section 1</h3>
                    <p><a href="page2.html" data-transition="slide" >I'm the collapsible content for section 1</a></p>
                </div>
                <div data-role="collapsible">
                    <h3>Section 2</h3>
                    <p>I'm the collapsible content for section 2</p>
                </div>
                <div data-role="collapsible">
                    <h3>Section 3</h3>
                    <p>I'm the collapsible content for section 3</p>
                </div>
            </div>
        </div>  
        <div data-role="footer"></div> 
    </div>

</body>
</html>

ページ2:以下のコードがあります

<div data-role="page" id="page2" data-dom-cache="true">
<div data-role="header"></div>
    <div data-role="content">
        <div data-role="collapsible-set" data-theme="c" data-content-theme="d">
            <div data-role="collapsible">
                <h3>Page 2</h3>
                <p>
                    <a href="page3.html" data-transition="slide">I'm the
                        collapsible content for section 1</a>
                </p>
            </div>
            <div data-role="collapsible">
                <h3>Section 2</h3>
                <p>I'm the collapsible content for section 2</p>
            </div>
            <div data-role="collapsible">
                <h3>Section 3</h3>
                <p>I'm the collapsible content for section 3</p>
            </div>
        </div>
    </div>
    <div data-role="footer"></div>
</div>

ナビゲーションは発生しますが、ページを更新すると css が削除されます。複数のページを作成して画面間を移動する方法。

4

2 に答える 2

2

page1.htmlを以下に変更します

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>Page 1</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
    <div data-role="page" id="page1" data-dom-cache="true">
    <div data-role="header"></div>
        <div data-role="content">
            <div data-role="collapsible-set" data-theme="c" data-content-theme="d">
                <div data-role="collapsible">
                    <h3>Section 1</h3>
                    <p><a href="page2.html" data-transition="slide" >I'm the collapsible content for section 1</a></p>
                </div>
                <div data-role="collapsible">
                    <h3>Section 2</h3>
                    <p>I'm the collapsible content for section 2</p>
                </div>
                <div data-role="collapsible">
                    <h3>Section 3</h3>
                    <p>I'm the collapsible content for section 3</p>
                </div>
            </div>
        </div>  
        <div data-role="footer"></div> 
    </div>
<script type="text/javascript">
$('#page1').on('pageshow',function(event){
    $("#page1").swiperight(function () {
        $.mobile.changePage("page2.html");
    });

});
</script>
</body>
</html>

以下のようにpage2.htmlを変更します

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>Page 1</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
    <div data-role="page" id="page2" data-dom-cache="true">
        <div data-role="header"></div>
            <div data-role="content">
                <div data-role="collapsible-set" data-theme="c" data-content-theme="d">
                    <div data-role="collapsible">
                        <h3>Page 2</h3>
                        <p>
                            <a href="page3.html" data-transition="slide">I'm the
                                collapsible content for section 1</a>
                        </p>
                    </div>
                    <div data-role="collapsible">
                        <h3>Section 2</h3>
                        <p>I'm the collapsible content for section 2</p>
                    </div>
                    <div data-role="collapsible">
                        <h3>Section 3</h3>
                        <p>I'm the collapsible content for section 3</p>
                    </div>
                </div>
            </div>
            <div data-role="footer"></div>
        </div>
<script type="text/javascript">
$('#page2').on('pageshow',function(event){
    alert('page2 loaded');
});
</script>
</body>
</html>

今すぐ動作するはずです。何が起こるか教えてください。スクリプトを でラップしました$('#page2').on('pageshow',function(event){});。それが私が行った唯一の変更です。

于 2013-03-11T08:33:20.437 に答える
1

古いバージョンの JQM を使用したhttp://m.stanford.edu/#eventsを参照していました

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1 jquery.mobile1.0a4.1.min.css" /> 
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>

そして最新バージョン、つまり

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>

上記の問題は、最新バージョンに対して

$(document).on("mobileinit", function () {
    $.mobile.pushStateEnabled = false; 
});
于 2013-03-12T12:03:07.423 に答える