我们常常在宣传网站手机版的时候使用二维码推广方式,用户只需要扫描二维码,就可以访问该网站。但是微信扫描二维码之后却将网站进行了转换,造成网站样式表、js等功能丢失,使得用户用微信扫描网站二维码变得凌乱起来。那么该如何解决这个问题呢?
其实早期微信是没有增加这个转换的,但是后来由于众多使用微信的大号进行各种推广,微信为了安全起见,采用了先由微信转换一下格式,然后由用户选择是否访问原网页。
1、扫描网站二维码之后的效果是这样的:
微信会提示“该网页非微信官方网页,将由微信转换为手机预览模式。”,如果点击“继续访问”按钮,就会进入到微信转换的界面。而那个“访问原网页”的链接非常小,所以大多数用户都会点击上面的按钮。
2、两种解决办法
方法1:使用公众账号的二维码进行宣传,然后为关注用户发送手机网站链接,这种方法就绕过了这个转换过程。
方法2:用程序判断是否是微信转换界面,然后推不同的提示页面。
我们先获取一下HTTP_USER_AGENT,得到的数据为:
mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; tencenttraveler)
这里最有用的信息就是最后的“tencenttraveler”了,它表示微信使用这个浏览器来转换你的网页,所以只需判断是否包含“tencenttraveler”,就可以显示不同的页面了。
判断代码如下:
<?php
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($agent, 'tencenttraveler') === false){
echo " 不是微信浏览";
} else {
echo "<img width='100%' src='http://www.weste.net/images/tiao.jpg' alt="请点击查看原网页来浏览网站">";
}
?>
界面如下:
原理就是这样的,具体的界面可以自己设置,但是似乎微信转换时候的缓存问题十分严重,暂时没找到好办法解决。如果有什么好方法,请告诉我哦~~~