亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS如何實現(xiàn)網(wǎng)站中PC端和手機端自動識別并跳轉(zhuǎn)對應(yīng)的代碼

 更新時間:2020年01月08日 11:16:53   作者:閆小樣丶  
這篇文章主要介紹了JS如何實現(xiàn)網(wǎng)站中PC端和手機端自動識別并跳轉(zhuǎn)對應(yīng)的代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1.  代碼場景:

描述:在項目中,一般我們會使用響應(yīng)式布局的方式或者借助bootstrap等插件來做響應(yīng)式的網(wǎng)站。但是根據(jù)業(yè)務(wù)的需求,手機端可能會在功能上精簡很多,我們也會寫兩套代碼,分別用來實現(xiàn)PC端和手機端的功能。此時,就存在一個問題。項目在部署的時候只會使用一個地址,不會針對手機和PC端代碼分別進行部署。這個時候就需要我們通過去識別視口分辨率的大小,來自動去跳轉(zhuǎn)對應(yīng)的代碼。

2. 實現(xiàn)方式:

目前網(wǎng)上有很多的方法用來實現(xiàn)PC端和手機端的代碼跳轉(zhuǎn),但我只用了一種實現(xiàn)方式。其他的暫時還沒有嘗試,希望可以跟大家學到更多的解決方案。在此特別感謝<<--老蔣部落-->>的方法給予了我很大的幫助。

此處貼出當前的JS代碼:

<script type="text/javascript">
 
 function mobilePcRedirect() {
 var sUserAgent= navigator.userAgent.toLowerCase();
 var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";
 var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";
 var bIsMidp= sUserAgent.match(/midp/i) == "midp";
 var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
 var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb";
 var bIsAndroid= sUserAgent.match(/android/i) == "android";
 var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce";
 var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile";
 if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
  window.location.href= '手機端跳轉(zhuǎn)頁面URL';
 } else {
  window.location= 'PC端跳轉(zhuǎn)頁面URL';
 }
 };
 
 mobilePcRedirect();
 
</script>

將此方法分別寫在手機端和PC端公共的Common.js中,然后在對應(yīng)位置寫入對應(yīng)的路徑即可。

例如:手機端公共JS中代碼如下

// 實現(xiàn)網(wǎng)站自動跳轉(zhuǎn)電腦PC端與手機端不同頁面
function mobilePcRedirect() {
 var sUserAgent= navigator.userAgent.toLowerCase();
 var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";
 var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";
 var bIsMidp= sUserAgent.match(/midp/i) == "midp";
 var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
 var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb";
 var bIsAndroid= sUserAgent.match(/android/i) == "android";
 var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce";
 var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile";
 if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
 console.log("手機端跳轉(zhuǎn)頁面URL");
 } else {
 console.log("PC端跳轉(zhuǎn)頁面URL"); 
    // 注:此時寫入的是PC端首頁跳轉(zhuǎn)路徑
   window.location.href = getBasePath() + "/education/new_index.html";
 }
};
mobilePcRedirect();

反之,PC端公共JS中同樣的寫法即可。

3. 拓展內(nèi)容(如何獲取項目的根路徑?)

獲取項目名稱:

/**
 * 獲取項目名稱 如:/video_learning
 **/
 
function getProjectName() {
 var strPath = window.document.location.pathname;
 var postPath = strPath.substring(0,strPath.substr(1).indexOf('/')+1);
 return postPath;
}

獲取項目全路徑:

/**
 * 獲取項目全路徑 如:http://localhost:8080/video_learning
 * */
 
function getBasePath(){
 //獲取當前網(wǎng)址
 var curWwwPath=window.document.location.href;
 
 //獲取主機地址之后的目錄
 var pathName=window.document.location.pathname;
 var pos=curWwwPath.indexOf(pathName);
 
 //獲取地址到端口號
 var localhostPath=curWwwPath.substring(0,pos);
 
 //項目名
 var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); 
 return (localhostPath+projectName);
}

本次分享已完成,大家若有更好的方法或者意見歡迎指正學習。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS首屏加載時間優(yōu)化的解決方法總結(jié)

    JS首屏加載時間優(yōu)化的解決方法總結(jié)

    首屏加載時間是一個衡量網(wǎng)頁性能和用戶體驗的關(guān)鍵指標,這個問題無論是在面試中還是在項目開發(fā)中都占有極其高的權(quán)重,本文為大家整理了幾種JS中優(yōu)化首屏加載時間的方法,希望對大家有所幫助
    2024-02-02
  • js實現(xiàn)iPhone界面風格的單選框和復(fù)選框按鈕實例

    js實現(xiàn)iPhone界面風格的單選框和復(fù)選框按鈕實例

    這篇文章主要介紹了js實現(xiàn)iPhone界面風格的單選框和復(fù)選框按鈕,涉及javascript動態(tài)操作頁面元素樣式的相關(guān)技巧,非常美觀大方,需要的朋友可以參考下
    2015-08-08
  • 微信小程序webview中監(jiān)聽返回按鈕實現(xiàn)步驟

    微信小程序webview中監(jiān)聽返回按鈕實現(xiàn)步驟

    在微信小程序中webview返回鍵是一個非常實用的功能,它允許用戶在嵌入的網(wǎng)頁中返回到上一個頁面,這篇文章主要給大家介紹了微信小程序webview中監(jiān)聽返回按鈕的實現(xiàn)步驟,需要的朋友可以參考下
    2024-08-08
  • JavaScript中exec()方法詳解

    JavaScript中exec()方法詳解

    JavaScript的exec()方法是在正則表達式對象上調(diào)用的方法,它用于在字符串中執(zhí)行正則表達式搜索,并返回匹配的結(jié)果,本文就給大家詳細的講解JavaScript中exec()方法,感興趣的同學跟著小編一起來看看吧
    2023-09-09
  • js 獲取坐標 通過JS得到當前焦點(鼠標)的坐標屬性

    js 獲取坐標 通過JS得到當前焦點(鼠標)的坐標屬性

    通過JS得到當前焦點的坐標,如何實現(xiàn),接下來詳細介紹實現(xiàn)步驟,有需要的朋友可以參考下
    2013-01-01
  • JavaScript導(dǎo)出CSV文件不完整的問題解決方法

    JavaScript導(dǎo)出CSV文件不完整的問題解決方法

    在JavaScript中處理CSV文件時,需要特別注意一些特殊字符,例如逗號、雙引號、換行符等,這些字符可能會影響CSV文件的解析,導(dǎo)致數(shù)據(jù)錯亂,所以本文給大家介紹了如何解決JavaScript導(dǎo)出CSV文件不完整的問題,需要的朋友可以參考下
    2024-06-06
  • 淺談json取值(對象和數(shù)組)

    淺談json取值(對象和數(shù)組)

    下面小編就為大家?guī)硪黄獪\談json取值(對象和數(shù)組)。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • JavaScript使用高階生成器進行過濾以生成素數(shù)

    JavaScript使用高階生成器進行過濾以生成素數(shù)

    生成器大家都知道是怎么一回事,但是高階生成器又是什么東西呢,下面小編就來為大家簡單介紹一下如何使用高階生成器進行過濾以生成素數(shù)吧
    2024-02-02
  • js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實例

    js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實例

    在本篇文章里小編給大家分享了關(guān)于js中int和string數(shù)據(jù)類型互相轉(zhuǎn)化實例和代碼,需要的朋友們學習下。
    2019-01-01
  • js數(shù)組方法reduce經(jīng)典用法代碼分享

    js數(shù)組方法reduce經(jīng)典用法代碼分享

    本文給大家整理了很多關(guān)于js數(shù)組方法reduce的經(jīng)典代碼片段,能夠讓大家更好的理解reduce的實例用法,一起學習下吧。
    2018-01-01

最新評論