众所周知,现在手机移动端的用户是异军突起,占据电商客户群里相当大的一个比例,现在基本上是人手一个智能机,智能机开辟了人们通讯的新时代,也开辟了电商发展的新时代,这告示我们,现在的电商的战场已经不能仅仅是在pc端,而是蔓延到了手上。曾经在广州琶洲会馆广东博览会上听了买卖宝张小玮的一个报告,他说在农村地区近80%网购用户通过手机购物,超过60%网购用户每周访问一次电商网站。这对我们关注农村农资农业电商的朋友来说,手机端的重要性明显不言自喻。
我们知道,由于电脑屏幕较大,pc端的网页设计图片大,内容丰富,结构复杂,这对于手机的小屏幕来说,明显不适合浏览,因为内容过多,字会变得很小,各方面都不适合浏览。但是对于优秀的ecshop来说,他已经做好准备,当用手机浏览器访问ecshop网站的时候,他会默认自动跳转到wap模式,即访问mobile文件夹。相关代码为:
$ua = strtolower($_SERVER['HTTP_USER_AGENT']); $uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i"; if($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap') { $Loaction = 'mobile/'; if (!empty($Loaction)) { ecs_header("Location: $Loaction\n"); exit; } }
$ua在这里是通过$_SERVER[‘HTTP_USER_AGENT’]来获取浏览器的参数信息,应当也就是网页的User-Agent参数吧,曾经很长一段时间有人利用伪造这个参数来忽悠安全狗,因为安全狗就是从这个参数来判断来访的客人是搜索引擎还是普通pc端访问,如果是搜索引擎就放行,如果获取到浏览器信息,认为是pc访问就会检查代码。好了,继续看代码,然后在$uachar中列出了绝大部分的常用浏览器类型。那么下面的这个if语句就是判断是否跳转了。
这个if句蛮有意思的,首先如果没有获取到user-agent信息,跳转,那么程序员应当是假定pc端一定有这个参数。第二部是判断获取到的User-Agent信息中是否有已知的手机端浏览器信息,并且在这里调用了$_SERVER[‘REQUEST_URI’],就是这个地址里面不能含有wap,但是这个$_SERVER[‘REQUEST_URI’]我们知道是域名后面部分的数据,如果域名本身就是wap.target.com这种类型的路径的话,那么他可能也会向mobile跳转。
好了,明白了这个道理就好办了,既然我们做电商平台是为人们服务的,那么就应当想客人之所想,急客人之所急。有些客人他可能不想在手机上看WAP,他就想在手机上看pc端网页的效果,或者他对wap的那种模式不熟悉,还是喜欢在手机浏览PC端网页,那么问题就来了,我们要怎样帮客人解决这个问题,因为一打开我们的ecshop网站就跳转到wap去了,网上有很多教程教怎样在手机上显示pc端网页,这个不用说了吧,就是删除上面这个代码,那么现在我们既要满足这部分客人的要求,又要满足喜欢wap客人的要求。
仔细想了想这个问题后,其实办法很简单,但是好像网上没有人写出来,吐槽下,看了下网上涉及到ecshop的很多东东都是收费的,特别是某ecshop网站,一个相当小的插件都收费,不知道忽悠了多少小年轻。
回正题,这个问题我们加一个参数就搞定了。先看看我在pc端的效果吧
我们把这个if语句
if($ua == ” || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER[‘REQUEST_URI’]),’wap’)
修改为
if(!isset($_GET[‘pc’])&&($ua == ” || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER[‘REQUEST_URI’]),’wap’))
各位看官,明白了吧,如果参数pc没有值,那么就按照ecshop原来的意思走,也就是打开网站,自动调整到mobile目录下。
如果我在手机上想从wap来看pc版的效果,那么就给这个参数pc赋值就行了吗,对吧。
http://www.target.com/?pc=1
看看我wap端的效果
将上图中,“电脑版”中的连接加上刚刚说的那个参数,这样访问过去,就可以打开pc版的页面了。在pc版中,点击触屏版就可以回到wap的版面了。一个小技巧,共享了!!Have a good time!!