众所周知,ecshop在2.7.x版本,引入了mobile目录,并在首页进行判断,如果来访为手机用户,则自动把链接跳转到
/mobile,用wap方式来引导。
但这两年手机技术发展也很快,大屏化、高速化、智能化是明显的改变。智能机3.5寸以上的屏幕到处都是,分辨率大部分都在
720*480以上,很多高端用户希望在手机屏幕上得到与电脑一样的体验。
同时为了兼顾低端低网速的用户群,又不能完全关闭wap方式。
今天闲着无事,做了一点尝试,供各位参考。
修改index.php
找到 $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
做如下代码修改(增加了普通手机的ua代码,增加了智能手机的ua变量)
$uachar =
"/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|coolpad|k-touch|tcl|oppo|doov|amoi|bbk|cect|amoi|zte|huawei)/i";
$smartuachar =
"/(iphone|ipad|android|smartphone|windows)/i";
//by layen,判别是iphone ipad android smartphone
windows类手机就按普通web方式处理,其他手机按wap处理
if(!(preg_match($smartuachar, $ua))
&& ($ua == '' ||
preg_match($uachar, $ua))&&
!strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))
经测试,我的iphone、ipad无论3G还是wifi都以web方式正常浏览。而一台旧huawei手机就自动按wap方式访问了。由于环境所限,各种流行的
android及SM、WP手机都没有测试。各位自行核对web http日志找到的UA来优化代码吧。
web网站 android手机通过wap方式无法访问 [转载]让ecshop能根据智能手机自动区分web和wap访问方式...