如何使浏览器在单页面布局上前后工作?

时间:2012-09-09 10:28:14

标签: javascript html browser cross-browser user-experience

作为对Most efficient way to do a horizontal sliding layout的后续问题,是否可以在使用单一页面布局时使浏览器的后退和前进按钮工作?

3 个答案:

答案 0 :(得分:5)

您可以使用HTML5中的历史记录API来实现这一目标。

以下是一些可以帮助您入门的资源:

为了在旧浏览器中获得支持,还有一些JavaScript库可以实现:

Chrome小组的高级示例,它使用历史记录API:

答案 1 :(得分:2)

是的,您可以使用HTML5历史记录API来实现它。

答案 2 :(得分:0)

以旧方式,您可以尝试使用书签,例如

    <html>
    <head>
        <script type="text/javascript">
            function goPage (v) {
                var idisplay = v == 'i',
                    adisplay = v == 'a',
                    bdisplay = v == 'b';
                document.getElementById('anchor_i').style.display = idisplay? 'none' : 'block';
                document.getElementById('anchor_a').style.display = adisplay? 'none' : 'block';
                document.getElementById('anchor_b').style.display = bdisplay? 'none' : 'block';

                document.getElementById('content_i').style.display = idisplay? 'block' : 'none';
                document.getElementById('content_a').style.display = adisplay? 'block' : 'none';
                document.getElementById('content_b').style.display = bdisplay? 'block' : 'none';
            }
        </script>
    </head>
    <body>
        <a name="index"></a>
        <div id="content_i">
            index
        </div>

        <a id="anchor_i" href="#index" onclick="goPage('i');" style="display: none">to index</a>
        <a id="anchor_a" href="#page_a" onclick="goPage('a');">to page_a</a>
        <a id="anchor_b" href="#page_b" onclick="goPage('b');">to page_b</a>

        <a name="page_a"></a>
        <div id="content_a" style="display: none">
            page a
        </div>
        <a name="page_b"></a>
        <div id="content_b" style="display: none;">
            page b
        </div>
    </body>
</html>