php开发手机页面_JS/PHP/ASP.NET实现手机打开PC网页后自动跳到手机网页

用手机打开PC网页,会有诸多的不便,由于手机屏幕太小,所以网页缩小后字体也相应缩小,要放大才可以看清,但放大后网页又超出了手机的屏幕宽度,需要手动来左右拖动网页,操作起来相当麻烦。为了顾及手机用户的体验,网页手机版顺应而出,目前已有一些工具可以自动把网站生成手机网页了。

a09fa5f8b3b1488e07f9ed226d1a965f.png

手机打开PC网页

最近把网站内容做了一个手机版,主要是调整好界面布局,不多余的东西去掉,以适合手机用户使用。现在有一个比较头疼的问题是,用户多数是记住PC端使用的主域名,而不去记手机端使用的二级域名,有什么办法改善这一状况呢。

我看到很多网站都是在PC网页的某个地方加上一个按钮,提示用户可以切换都手机访问,点击那个按钮即可。这不失为一个方法,但是我感觉这并不是一个好的方法,因为当用户打开PC网页时,内容堆得满满的,广告多的话会有点眼花缭乱,可能没有发现有个“手机版”的连接图标,这样的用户体验是比较差的。我现在想实现自动化,即是当用户用手机打开PC网页时,能自动跳到手机网页,有什么方法可以实现呢?

我后来想到的切入点是从浏览器来突破,每一个浏览器的userAgent是不同的,而主流的PC浏览器和手机浏览器都是十分有限的,可以通过网页程序来获得客户端浏览器的userAgent,进而判断客户端是PC还是手机,从而跳转到对应的网页。

js实现手机打开PC网页自动跳到手机网页

通过测试,前端js程序是可以实现这一功能的。如下面是主要判断代码:

var ua = window.navigator.userAgent;  //获得浏览器类型

//alert(ua);

if(ua.indexOf("MSIE")>=1)

{

alert("这是 IE");

//客户端是PC,应使用PC网页

}

else if(ua.indexOf("Firefox")>=1)

{

alert("这是 Firefox");

//客户端是PC,应使用PC网页

}

else if(ua.indexOf("Chrome")>=1)

{

alert("这是 Chrome");

//客户端是PC,应使用PC网页

}

......  //这里列举所有主流的PC浏览器类型

else

{

//客户端是手机,自动跳转到手机网页

}

通过上面的js程序,便可实现手机打开PC网页自动跳到手机网页的功能。

PHP和ASP.NET判断客户端是否手机

根据上述的思路,如果是动态网页,也可以用PHP等动态语言实现。不管什么语言,都是判断客户端浏览器userAgent。

下面是PHP获取userAgent并判断客户端是否手机的代码:

//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的方法,使用任何一种即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值