0

jquery mobileを使ってモバイルサイトを構築しています。設定などのためのいくつかの静的な内部ページが含まれますが、主に外部ページのロード/リンクになります。

私には2つの要件があります。

  • 内部ページが URL バーに影響を与えたり、urlHistory に追加したりしたくありません (ハッシュとして、つまり index.html/#settings)。

  • ユーザーが新しい外部ページをロードしたときに、それを URL バーに表示して urlHistory に追加したいと考えています。

これは簡単に聞こえますが、うまく動作しないようです。

mobileinitで次のことを試しました。これにより、内部および外部リンクの URL が変更されることはありません。

$.mobile.changePage.defaults.changeHash = false;

どんな提案でも大歓迎です。

4

2 に答える 2

0

近かったのですが、mobilinit はトリッキーなイベントです。jQuery Mobile が読み込まれる前にトリガーする必要があります。例を次に示します。

<!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://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>    
    <script>
        $(document).bind("mobileinit", function(){
            $.mobile.changePage.defaults.changeHash = false;
        });
    </script>       
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>  
        <script src="operations.js"></script>       
</head>
<body>
    <div data-role="page" id="index">
        <div data-theme="a" data-role="header">
            <h3>
                First Page
            </h3>
            <a href="http://www.google.com" class="ui-btn-right" rel="external">Next</a>
        </div>

        <div data-role="content">
            <ul data-role="listview" data-theme="a" id="test-listview">
                <li><a href="page2.html?id=1">Link 1</a></li>
                <li><a href="page2.html?id=2">Link 2</a></li>
                <li><a href="page2.html?id=3">Link 3</a></li>
                <li><a href="page2.html?id=4">Link 4</a></li>
                <li><a href="page2.html?id=5">Link 5</a></li>
            </ul>    
        </div>

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

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

それをテストすると、すべての要件を満たしていることがわかります。

于 2013-02-08T08:43:06.600 に答える