当前位置: 首页 > 188app金宝搏网 >>在网页中如何判断是否是移动端在访问?
作者:郑州网站建设发布时间:2023-09-03 15:18:49查看次数:来源:网络文章数:
近几年,智能手机的普及,让WEB应用也变得更加多样化,以网站为例,前几年基本就是一个PC端的网页布局,上网只能通过台式电脑或笔记本操作,有了智能手机和4G网络人们的使用习惯开始发生了变化,用手机随时随地就可以访问,只要有网的地方就可以浏览。如果,用手机看传统的网站,你可能会发现体验度并不好,尤其是文字特别的小,要么就是图片变形或页面被撑开,需要手动放大或缩小才能看,而且效果也不好。这是因为,手机上看的PC站界面本来就不是为了适配手机,要想完美体检就必须再做一套移动端的手机访问界面。
那么,问题来了,同一个网站如何在电脑访问时显示PC端的页面,手机访问时显示移动端的页面呢。其实,也很简单,加入一个代码判断即可。如果程序检测到移动端的相关信息就自动切换到移动端对应的页面,而不是移动端就默认显示电脑PC端对应的页面。
可以使用JS脚本来判断是否移动端:
<script> var is_mobile =navigator.userAgent.toLowerCase().match(/(phone|pad|pod|ipod|iphone|ios|android|mobile|mqqbrowser|iemobile|juc|fennec|wosbrowser|browserng|webos|symbian|windows phone|coolpad|mmp|smartphone|midp|wap|xoom|j2me|blackberry|wince)/i) != null; //进行userAgent匹配 if(is_mobile){ window.location.href = "/m"; } </script>
可以直接在代码里写自定义函数,以PHP代码为例:
//判断是否手机访问 function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志,兼容性有待提高 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array ('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile' ); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } // 协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; }
站内文章:均为188bet博彩体育app下载方式 各部门原创内容如需转载请著名本文网站链接://www.mcissock.com/new/24630.html未经允许转载要受法律责任,如需转载请联系269247937@qq.com
*请认真填写需求信息,我们会在24小时内与您取得联系。