1

ヘッダー、cssなどを含むsecure.phpページがあります。セキュアページには、動的と呼ばれるdivがあり、他のphpページのコンテンツがロードされます。

コンテンツのあるページは、page1.php と page2.php です。

私の簡略化された安全なphpコード:

<!DOCTYPE html>
<head>    
    <script src="js/jquery-1.10.0.min.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script src="js/modernizr-2.6.2-respond-1.1.0.min.js"></script>
    <script src="js/jquery.ba-hashchange.min.js"></script>
    <script>

    $(document).ready(function() {
        loadPage1();
    });
    $(function() {
  $(window).hashchange( function() {

    if (location.hash == "#page1") {
        loadPage1();
    };
    if (location.hash == "#page2") {
        loadPage2();
    };
  })

  // Since the event is only triggered when the hash changes, we need to trigger
  // the event now, to handle the hash the page may have loaded with.
  $(window).hashchange();

});


    function loadPage1() {
        $('#dynamic').load('page1.php');
    }

    function loadPage2() {
        $('#dynamic').load('page2.php');
    }

</script>

    </head>
    <body class="bodysecure">        
        <div id="headermenu">
            <div class="menuitem"><a href="#page1" onmouseover="" onClick="loadPage1()">Page1</a></div>
            <div class="menuitem"><a href="#page2" onmouseover="" onClick="loadPage2()">Page2</a></div>
        </div>

            <div id="dynamic"></div>

    </body>
</html>

私の現在のコードは問題なく動作しています。おそらくもっとうまくプログラムできるかもしれませんが、それはここでは問題ではありません。

問題は、URL が常に secure.php であるため、戻る/進むボタンが機能せず、特定のページをブックマークできないことです。解決策を探しに行ったところ、非常に複雑なプラグインがたくさんありました (私は初心者です)。

プラグインなしでこれを行う簡単な方法はありますか? ハッシュタグを使ってみませんか?そして、おそらくフィドルで、誰かが私に例を提供してくれませんか?

4

1 に答える 1

1

次のようなことができます:

// Document ready checks if the hash is set in which it loads the correct page.
// on default (if no hash set) page1.php will be the page.
$(document).ready(function() {
    var page = window.location.hash || 'page1.php'; 
    loadPage(page);
});

// This loads the actual page.
function loadPage(page) {
    $('#dynamic').load(page);
    window.location.hash = page;
}
于 2013-08-10T19:54:15.877 に答える