1. 程式人生 > >單頁面模式和多頁面模式的優缺點

單頁面模式和多頁面模式的優缺點

重新 word pass 否則 頁面 文件 調整 end 腳本環境

1)多頁面模式(MPA Multi-page Application):
    多頁面跳轉需要刷新所有資源,每個公共資源(js、css等)需選擇性重新加載
    頁面跳轉:使用window.location.href = "./index.html"進行頁面間的跳轉;
    數據傳遞:可以使用path?account="123"&password=""路徑攜帶數據傳遞的方式,或者localstorage、cookie等存儲方式

2)單頁面模式(SPA Single-page Application):

    只有一張Web頁面的應用,是一種從Web服務器加載的富客戶端,單頁面跳轉僅刷新局部資源 ,公共資源(js、css等)僅需加載一次

    頁面跳轉:使用js中的append/remove或者show/hide的方式來進行頁面內容的更換;
    數據傳遞:可通過全局變量或者參數傳遞,進行相關數據交互

兩種模式對比:

頁面模式

多頁面模式(MPA Multi-page Application

單頁面模式(SPA Single-page Application

頁面的組成

多個完整頁面,
例如page1.html、page2.html等

由一個初始頁面和多個頁面模塊組成,
例如:index.html和page1.htnl.js、page2.html.js等

公共文件加載

跳轉頁面前後,js/css/img等公用文件重新加載

js/css/img等公用文件只在加載初始頁面時加載,更換頁面內容前後無需重新加載

頁面跳轉/內容更新

頁面通過window.location.href = "./index.html"跳轉

通過使用js方法,append/remove或者show/hide等方式來進行頁面內容的更換

頁面跳轉/內容更新
所需數據的傳遞

可以使用路徑攜帶數據傳遞的方式,例如:http://index.html?account="123"&password=123456"",或者localstorage、cookie等存儲方式

直接通過參數傳遞,或者全局變量的方式進行,因為都是在一個頁面的腳本環境下

用戶體驗

如果單個頁面加載的文件相對較大(多),頁面切換加載會很慢

頁面片段間切換較快,用戶體驗好,因為初次已經加載好相關文件。但是初次加載頁面時需要調整優化,因為加載文件較多

適用場景

適用於高度追求高度支持搜索引擎的應用

高要求的體驗度,追求界面流暢的應用

轉場動畫

不容易實現

容易實現

總結:
單頁面模式:相對比較有優勢,無論在用戶體驗還是頁面切換的數據傳遞、頁面切換動畫,都可以有比較大的操作空間

多頁面模式:比較適用於頁面跳轉較少,數據傳遞較少的項目中開發,否則使用cookie,localstorage進行數據傳遞,是一件很可怕而又不穩定的無奈選擇

單頁面模式和多頁面模式的優缺點