记笔记,免忘记!
项目中图片上传分为两种,一种使用微信接口上传,一种其它上传(本人使用的七牛);
然后客服小姐姐反馈,在电脑微信上面进行图片的上传总是停留在正在加载动画,于是对这个上传进行了调试发现之前的是否是微信的判断有问题,故做此记录。
以下方法可以判断电脑微信windowswechat微信开发者工具wechatdevtools:
var ua = navigator.userAgent.toLowerCase();
function isWeiXin() {
if (ua.match(/MicroMessenger/i) == 'micromessenger' && ua.match(/WindowsWechat/i) != 'windowswechat' && ua.match(/WechatDevTools/i) !='wechatdevtools') {
return true;
}
else {
return false;
}
}
if(isWeiXin()){
wxupload();
}else{
qiniuupload();
}
以下为网上搜索找到的,感谢网上的各位大佬的总结
原文章:判断当前页面是否在微信浏览器中打开(四类方法整理)作者:申文哲
方法一:(微信官方js判断做法)此方法无法判断电脑微信
var ua = navigator.userAgent.toLowerCase();
var isWeixin = ua.indexOf('micromessenger') != -1;
if (isWeixin) {
return true;
}else{
return false;
}
方法二:(js判断做法)此方法无法判断电脑微信
function is_weixn(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}
方法三:(js判断做法)未测试能否判断电脑微信
var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();
if(is_weixin){
$(function(){
return true;
});
}else{
$(function(){
return false;
});
}
方法四:(利用PHP判断)
function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) { //strpos() 函数查找字符串在另一字符串中第一次出现的位置。
return true;
}
return false;
}