微信掃描網(wǎng)站二維碼訪問到“手機(jī)預(yù)覽模式”的解決辦法

2013-12-12 15:20:52來源:西部e網(wǎng)作者:icech

我們常常在宣傳網(wǎng)站手機(jī)版的時(shí)候使用二維碼推廣方式,用戶只需要掃描二維碼,就可以訪問該網(wǎng)站。但是微信掃描二維碼之后卻將網(wǎng)站進(jìn)行了轉(zhuǎn)換,造成網(wǎng)站樣式表、js等功能丟失,使得用戶用微信掃描網(wǎng)站二維碼變得凌亂起

我們常常在宣傳網(wǎng)站手機(jī)版的時(shí)候使用二維碼推廣方式,用戶只需要掃描二維碼,就可以訪問該網(wǎng)站。但是微信掃描二維碼之后卻將網(wǎng)站進(jìn)行了轉(zhuǎn)換,造成網(wǎng)站樣式表、js等功能丟失,使得用戶用微信掃描網(wǎng)站二維碼變得凌亂起來。那么該如何解決這個(gè)問題呢?

其實(shí)早期微信是沒有增加這個(gè)轉(zhuǎn)換的,但是后來由于眾多使用微信的大號(hào)進(jìn)行各種推廣,微信為了安全起見,采用了先由微信轉(zhuǎn)換一下格式,然后由用戶選擇是否訪問原網(wǎng)頁。

1、掃描網(wǎng)站二維碼之后的效果是這樣的:

\

微信會(huì)提示“該網(wǎng)頁非微信官方網(wǎng)頁,將由微信轉(zhuǎn)換為手機(jī)預(yù)覽模式。”,如果點(diǎn)擊“繼續(xù)訪問”按鈕,就會(huì)進(jìn)入到微信轉(zhuǎn)換的界面。而那個(gè)“訪問原網(wǎng)頁”的鏈接非常小,所以大多數(shù)用戶都會(huì)點(diǎn)擊上面的按鈕。

2、兩種解決辦法

方法1:使用公眾賬號(hào)的二維碼進(jìn)行宣傳,然后為關(guān)注用戶發(fā)送手機(jī)網(wǎng)站鏈接,這種方法就繞過了這個(gè)轉(zhuǎn)換過程。

方法2:用程序判斷是否是微信轉(zhuǎn)換界面,然后推不同的提示頁面。

我們先獲取一下HTTP_USER_AGENT,得到的數(shù)據(jù)為:

mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; tencenttraveler)

這里最有用的信息就是最后的“tencenttraveler”了,它表示微信使用這個(gè)瀏覽器來轉(zhuǎn)換你的網(wǎng)頁,所以只需判斷是否包含“tencenttraveler”,就可以顯示不同的頁面了。

判斷代碼如下:

<?php 
    $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
 if (strpos($agent, 'tencenttraveler') === false){
  echo " 不是微信瀏覽";
 } else {
  echo "<img width='100%' src='http://virtualinteriordefine.com/images/tiao.jpg' alt="請(qǐng)點(diǎn)擊查看原網(wǎng)頁來瀏覽網(wǎng)站">";
}
?>

界面如下:

\

原理就是這樣的,具體的界面可以自己設(shè)置,但是似乎微信轉(zhuǎn)換時(shí)候的緩存問題十分嚴(yán)重,暫時(shí)沒找到好辦法解決。如果有什么好方法,請(qǐng)告訴我哦~~~
關(guān)鍵詞:微信二維碼