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

贊助商

分類目錄

贊助商

最新文章

搜索

JS/PHP/ASP.NET實(shí)現(xiàn)手機(jī)打開PC網(wǎng)頁(yè)后自動(dòng)跳到手機(jī)網(wǎng)頁(yè)

作者:admin    時(shí)間:2014-9-11 10:36:26    瀏覽:

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

 手機(jī)打開PC網(wǎng)頁(yè)

手機(jī)打開PC網(wǎng)頁(yè)

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

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

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

js實(shí)現(xiàn)手機(jī)打開PC網(wǎng)頁(yè)自動(dòng)跳到手機(jī)網(wǎng)頁(yè)

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

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

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

PHP和ASP.NET判斷客戶端是否手機(jī)

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

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

 <?php 
//php判斷客戶端是否為手機(jī) 
$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的方法,使用任何一種即可。

標(biāo)簽: 瀏覽器  
相關(guān)文章
    x