最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端同一URL根據(jù)設(shè)備加載不同頁面的實(shí)現(xiàn)方案

 更新時(shí)間:2026年03月21日 11:06:47   作者:季禮祥  
在做前端網(wǎng)頁的時(shí)候,會(huì)涉及到很多界面,有的時(shí)候,這些界面都會(huì)有重復(fù)的代碼,這篇文章主要介紹了前端同一URL根據(jù)設(shè)備加載不同頁面的實(shí)現(xiàn)方案,文中給出了詳細(xì)的代碼,需要的朋友可以參考下

前言

因?yàn)闅v史的原因,公司內(nèi)部有一個(gè)系統(tǒng)針對(duì)手機(jī)端和電腦端分別做了一套前端的spa頁面,但是業(yè)務(wù)方還是希望通過不同設(shè)備訪問同一個(gè)地址的時(shí)候,手機(jī)端加載手機(jī)端的頁面,電腦端就去加載電腦端的頁面 該如何實(shí)現(xiàn)這該死的需求呢?

方案

問題拆解

問:定心想一下,要實(shí)現(xiàn)這個(gè)需求我們需要解決的最根本的問題是什么呢?
答:根本要解決的問題是區(qū)分不同的設(shè)備,對(duì)相同的URL地址,返回對(duì)應(yīng)設(shè)備的入口html文件。
問:那該如何區(qū)分不同設(shè)備呢?
答:我們可以在nginx中,根據(jù)請(qǐng)求頭中的ua區(qū)分是移動(dòng)端設(shè)備還是電腦端設(shè)備。
問:那具體該怎么配置呢?

具體配置

server {
    listen 9999;

    root /www/data/source;

    # 默認(rèn)入口是pc
    set $index_file /index-pc.html; 
    if ($http_user_agent ~* "(android|iphone|ipad|ipod|mobile)") {
         # 手機(jī)端入口
         set $index_file /index-mobile.html; 
    }

    if ($arg_isMobile != "") {
        # 特殊需要 如果路徑上帶isMobile也加載手機(jī)端入口頁面
        set $index_file /index-mobile.html; 
    }


   location / {
       # 順序匹配 默認(rèn)匹配路徑  否則返回pc或mobile入口html
       try_files $uri $index_file;
    }
}

效果

電腦端訪問localhost:9999

手機(jī)端訪問localhost:9999

電腦端訪問localhost:9999?isMobile=1

解決

通過ua的判斷,針對(duì)相同的請(qǐng)求URL加載對(duì)應(yīng)設(shè)備的入口html文件。

注意點(diǎn)

這個(gè)解決方案有一個(gè)要求是兩個(gè)端構(gòu)建后的資源需要上傳到同一個(gè)目錄下面,并且要修改入口html名稱區(qū)分不同端的入口。擔(dān)心靜態(tài)資源(js,css,img)混亂的話,可以在構(gòu)建的時(shí)候,把靜態(tài)資源也用目錄區(qū)分開,比如電腦端靜態(tài)資源構(gòu)建到pc目錄下,手機(jī)端的資源構(gòu)建到mobile目錄下。

結(jié)語

沒有最好的方案,只有最適合業(yè)務(wù)需求的方案。

總結(jié)

到此這篇關(guān)于前端同一URL根據(jù)設(shè)備加載不同頁面的文章就介紹到這了,更多相關(guān)前端同一URL加載不同頁面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

东山县| 柳江县| 兴宁市| 江津市| 阳城县| 津南区| 商丘市| 连平县| 桃园市| 伊宁市| 双辽市| 凤城市| 垣曲县| 靖州| 新宾| 新化县| 湛江市| 尤溪县| 扎赉特旗| 驻马店市| 香河县| 顺平县| 囊谦县| 平果县| 阳高县| 新宁县| 顺义区| 安顺市| 渝中区| 鸡西市| 罗甸县| 上虞市| 宜宾县| 迁安市| 大新县| 青铜峡市| 马尔康县| 佳木斯市| 中卫市| 翼城县| 湖北省|