技術(shù)頻道導航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

JS/PHP/ASP.NET實現(xiàn)手機打開PC網(wǎng)頁后自動跳到手機網(wǎng)頁

作者:admin    時間:2014-9-11 10:36:26    瀏覽:

用手機打開PC網(wǎng)頁,會有諸多的不便,由于手機屏幕太小,所以網(wǎng)頁縮小后字體也相應縮小,要放大才可以看清,但放大后網(wǎng)頁又超出了手機的屏幕寬度,需要手動來左右拖動網(wǎng)頁,操作起來相當麻煩。為了顧及手機用戶的體驗,網(wǎng)頁手機版順應而出,目前已有一些工具可以自動把網(wǎng)站生成手機網(wǎng)頁了。

 手機打開PC網(wǎng)頁

手機打開PC網(wǎng)頁

最近把網(wǎng)站內(nèi)容做了一個手機版,主要是調(diào)整好界面布局,不多余的東西去掉,以適合手機用戶使用?,F(xiàn)在有一個比較頭疼的問題是,用戶多數(shù)是記住PC端使用的主域名,而不去記手機端使用的二級域名,有什么辦法改善這一狀況呢。

我看到很多網(wǎng)站都是在PC網(wǎng)頁的某個地方加上一個按鈕,提示用戶可以切換都手機訪問,點擊那個按鈕即可。這不失為一個方法,但是我感覺這并不是一個好的方法,因為當用戶打開PC網(wǎng)頁時,內(nèi)容堆得滿滿的,廣告多的話會有點眼花繚亂,可能沒有發(fā)現(xiàn)有個“手機版”的連接圖標,這樣的用戶體驗是比較差的。我現(xiàn)在想實現(xiàn)自動化,即是當用戶用手機打開PC網(wǎng)頁時,能自動跳到手機網(wǎng)頁,有什么方法可以實現(xiàn)呢?

我后來想到的切入點是從瀏覽器來突破,每一個瀏覽器的userAgent是不同的,而主流的PC瀏覽器和手機瀏覽器都是十分有限的,可以通過網(wǎng)頁程序來獲得客戶端瀏覽器的userAgent,進而判斷客戶端是PC還是手機,從而跳轉(zhuǎn)到對應的網(wǎng)頁。

js實現(xiàn)手機打開PC網(wǎng)頁自動跳到手機網(wǎng)頁

通過測試,前端js程序是可以實現(xiàn)這一功能的。如下面是主要判斷代碼:

<script language="JavaScript">
var ua = window.navigator.userAgent;  //獲得瀏覽器類型
//alert(ua);  
if(ua.indexOf("MSIE")>=1)
{
  alert("這是 IE");
   //客戶端是PC,應使用PC網(wǎng)頁
}
else if(ua.indexOf("Firefox")>=1)
{
  alert("這是 Firefox");
   //客戶端是PC,應使用PC網(wǎng)頁
}
else if(ua.indexOf("Chrome")>=1)
{
  alert("這是 Chrome");
   //客戶端是PC,應使用PC網(wǎng)頁
}
......  //這里列舉所有主流的PC瀏覽器類型
else
{
   //客戶端是手機,自動跳轉(zhuǎn)到手機網(wǎng)頁
}
</script>

通過上面的js程序,便可實現(xiàn)手機打開PC網(wǎng)頁自動跳到手機網(wǎng)頁的功能。

PHP和ASP.NET判斷客戶端是否手機

根據(jù)上述的思路,如果是動態(tài)網(wǎng)頁,也可以用PHP等動態(tài)語言實現(xiàn)。不管什么語言,都是判斷客戶端瀏覽器userAgent。

下面是PHP獲取userAgent并判斷客戶端是否手機的代碼:

 <?php 
//php判斷客戶端是否為手機 
$agent = $_SERVER['HTTP_USER_AGENT']; 
if(strpos($agent,"NetFront") || strpos($agent,"iPhone") || strpos($agent,"MIDP-2.0") || strpos($agent,"Opera Mini") || strpos($agent,"UCWEB") || strpos($agent,"Android") || strpos($agent,"Windows CE") || strpos($agent,"SymbianOS")) 
header("Location:xxxxxxxx"); 
?> 

asp.net獲取userAgent的代碼:

下面為獲取瀏覽器UA的ASP.NET代碼:

<%
string ua1 = Request.ServerVariables["HTTP_USER_AGENT"]; 
Response.Write(ua1); 
%>  
或者      
<% 
string ua2 = Request.UserAgent; 
Response.Write(ua2); 
%>
或者
<%
string ua3 = Request.Headers["User-Agent"]; 
Response.Write(ua3); 
%>  

以上有三種獲取瀏覽器UA的ASP.NET的方法,使用任何一種即可。

標簽: 瀏覽器  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */