前端路由

一、方案:通過hash
目錄結構如圖:
這裏寫圖片描述
只有main,html是完整的html,其他兩個都是html片段

①main.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>home</title>
    </head>
    <body>


        <h4>歡迎來到前端路由實現方案主頁</h4>
        <a href="#about">跳轉到about</a>
        <a href="#brand">跳轉到brand</a>

        <script src="../../jquery/jquery-2.2.3.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">

            window.οnhashchange=function(){
                var target=location.hash.slice(1)+".html"
                $.ajax({
                    type:"get",
                    url:target,
                    dataType:"html",
                    success:function(data){
                        $("body").html(data);
                    }
                })
            }


        </script>

    </body>
</html>

②about.html

<h3>這裏是關於我們</h3>
<a href="#main">跳轉到home</a>
<a href="#brand">跳轉到brand</a>

③brand.html

<h3>品牌欄目</h3>
<a href="#main">跳轉到home</a>
<a href="#about">跳轉到about</a>

二、方案:通過HTML5的新api

html5中戲贈的兩個api:
history.pushState
history.replaceState
都可以將頁面的url在當前域內任意修改,配合window.onpopstate事件同樣可以實現簡單的前端路由

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章