手機網頁教學-自動切換電腦或手機版(PHP、ASPX)

 現在隨著行動上網愈來愈夯,各大入口網站也紛紛的開始製作行動裝置的網頁,雖然說新一代智慧型手機中的瀏覽器,與電腦中所用的瀏覽器幾乎相同,皆可正常的瀏覽各大網站,但由於手機的螢幕與電腦相比,差異相當的大,以至於當使用手機來瀏覽電腦網頁時,就得手指放大魯來魯去,才可找到自已所要的資訊,這對於手機瀏覽上有些不便,所以會發現到,各大網站則會專門針對手機的版面加以設計,讓版面符合手機的瀏覽模式,除此之外使用者用手機瀏覽時,網頁也會自動切換為手機版本,而要這要怎麼辦到呢? 其實這需要透過Server端的程式來作一點小判斷,就可以作到自動的切換,這邊梅干整理一下手邊的資料, 分別針對PHP與ASPX作介紹。

 PHP:

 

 

$mobile_browser = '0';
 
if( preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',  strtolower( $_SERVER['HTTP_USER_AGENT']))) {
     $mobile_browser++;
}
 
if(( strpos( strtolower( $_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or (( isset( $_SERVER['HTTP_X_WAP_PROFILE']) or  isset( $_SERVER['HTTP_PROFILE'])))) {
     $mobile_browser++;
}    
 
$mobile_ua =  strtolower( substr( $_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents =  array(
    'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
    'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
    'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
    'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
    'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
    'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
    'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
    'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
    'wapr','webc','winw','winw','xda','xda-','Googlebot-Mobile');
 
if( in_array( $mobile_ua, $mobile_agents)) {
     $mobile_browser++;
}
 
if ( strpos( strtolower( $_SERVER['ALL_HTTP']),'OperaMini')>0) {
     $mobile_browser++;
}
 
if ( strpos( strtolower( $_SERVER['HTTP_USER_AGENT']),'windows')>0) {
     $mobile_browser=0;
}
 
if( $mobile_browser>0) {
     header("Location: mobile.php");  // 手機版
} else {
     header("Location: pc.php");   // 電腦版
}

 

 

 

 

 ASP.NET :

 

  1      protected  void  Page_Load( object  sender, EventArgs e)

 2     {
 3         if (Request.Headers["user-agent"] != null && Request.Headers["user-agent"].ToLower().ToString().IndexOf("windows") != -1)
 4         {                        
 5             Response.Redirect("pc.aspx"); //電腦版 
 6         }
 7         else
 8         {
 9             Response.Redirect("mobile.aspx"); //手機版
10         }
11     }

 之後上傳到網頁空間中,當用手機瀏覽時,就會自動切換到手機版的網頁,若是使用電腦時,就會自動切換為電腦的版本,經梅干測試的結果,目前在iPhoneAndriod平台皆可正常切換,由於手邊沒有WinPhone,也請各位有WinPhone的朋友幫忙測試看看囉!

 

[範例預覽-ASPX版本]  

[範例預覽-PHP版本]

[範例下載]

 

 

 source link :http://www.minwt.com/mobilewebdesign/2501.html

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/drinkoJam/archive/2013/05/09/3069062.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值