怎样实现 请在用微信客户端打开链接接 检测是否微信

一条咸鱼的博客
如何解决“请在微信客户端打开链接”
如题,这个问题确实很苦恼,写下这篇博客记录下自己的问题。
&!DOCTYPE html&
name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"&
type="text/javascript"&
var ua = navigator.userAgent.toLowerCase();
var isWeixin = ua.indexOf('micromessenger') != -1;
var isAndroid = ua.indexOf('android') != -1;
var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);
if (!isWeixin) {
document.head.innerHTML = '&title&抱歉,出错了&/title&&meta charset="utf-8"&&meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"&&link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/open/libs/weui/0.4.1/weui.css"&';
document.body.innerHTML = '&div class="weui_msg"&&div class="weui_icon_area"&&i class="weui_icon_info weui_icon_msg"&&/i&&/div&&div class="weui_text_area"&&h4 class="weui_msg_title"&请在微信客户端打开链接&/h4&&/div&&/div&';
这是用其他网页访问微信链接的错误代码,关于
var isWeixin = ua.indexOf('micromessenger') != -1;
这句代码,应该是只要在请求头的user-agent字段中找到了’micromessenger’即可认为是微信的内置浏览器,但在抓包之后的更改后发现无效,返回的响应头状态码为302,应该是失败了.根据
var isAndroid = ua.indexOf('android') != -1;
var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);
这两句代码估计,应该还要在请求头里加上其他的一些字段,但由于个人能力的原因,就不知道该怎么加,该问题暂时搁置.
附:模拟UA这条路估计已经无效了,尝试过模拟多次UA均已经失效.不过还是学到了一点东西.chrome浏览器f12点右上角的三个小点图标下拉more tools里的NetWork conditions 即可修改请求头
没有更多推荐了,手机网页如何设置链接后会打开微信客户端关注页面
[问题点数:100分,结帖人aspyaun]
本版专家分:461
结帖率 100%
CSDN今日推荐
本版专家分:20
本版专家分:17192
本版专家分:461
结帖率 100%
本版专家分:0
匿名用户不能发表回复!|
CSDN今日推荐微信授权网页在pc上访问教程_图文_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
微信授权网页在pc上访问教程
软件设计师|
总评分2.7|
用知识赚钱
试读已结束,如果需要继续阅读或下载,敬请购买
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 在微信客户端打开链接 的文章

 

随机推荐