鍍金池/ 問答/HTML5  PHP/ 請問"請在微信客戶端打開鏈接"這個功能是怎么做到的?

請問"請在微信客戶端打開鏈接"這個功能是怎么做到的?

在網(wǎng)上下載了一個源碼.但是在pc端瀏覽器打開頁面,直接就提示 "請在微信客戶端打開鏈接",怎么把這個功能去掉?
還有就是這個功能怎么實現(xiàn)的?
難道是單純的js腳本window.location跳轉(zhuǎn)?

回答
編輯回答
柒喵

https://mp.weixin.qq.com/wiki...
觸發(fā)微信登錄授權(quán)就會提示這個 實際上你訪問的是微信的授權(quán)鏈接 并不是你自己的網(wǎng)頁
https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的公眾號appid&redirect_uri=登錄成功后重定向的地址&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

去掉這個判斷可以模擬 UA 來實現(xiàn) 判斷微信瀏覽器的標(biāo)準(zhǔn)是 UA 中包含 MicroMessenger 字符串
例如:Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1

但即使你模擬了也沒什么用 因為還是需要微信登錄

2018年7月30日 14:10
編輯回答
掛念你

php里面可以判斷訪問瀏覽器是不是微信

2017年10月19日 14:35
編輯回答
我甘愿

一般存在兩種情況

一  存在對客戶端的判斷 如果不是微信 則彈出提示
is_weixin: function(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i)=="micromessenger") {
        return true;
    } else {
        return false;
    }
},

二 存在微信網(wǎng)頁授權(quán)的情況

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
//redirect_uri 這個才是你真正的鏈接

這種情況是用戶在微信客戶端中訪問第三方網(wǎng)頁,在用戶點擊授權(quán)后,公眾號可以通過微信網(wǎng)頁授權(quán)機制,來獲取用戶基本信息 比如微信頭像 微信用戶昵稱,所以場景是必須要在微信端的,微信會對此做一個限制不是微信端的話會出提示

具體查看https://mp.weixin.qq.com/wiki...

2017年11月27日 17:25
編輯回答
遲月

去掉判斷微信的js

2017年1月16日 18:36