微信中打开连接,自动打开外部浏览器打开指定URL页面

上半年公司有一个新的APP项目上线,咱们在项目首页作个二维码,而后用户用手机扫一扫就能下载了。可是不少用户反映扫一扫以后下载不了,了解以后才知道这些用户都是使用的微信的扫一扫,而咱们开发测试人员通常使用uc之类的浏览器作扫描。上网查了一下,微信自带的内置浏览器屏蔽了下载功能,因此才出现用微信扫一扫不能下载的状况。这时候咱们通常会建议用户使用uc或者其余第三方浏览器自带的扫一扫功能下载。可是如今的微信太普及了,不少人都习惯性的使用微信来扫码下载,总不能每一个用户都解释一遍,因此咱们一直在寻找解决方案。 要解决这个问题思路很明确,既然微信内置浏览器不支持下载,那就只能想办法调用外部浏览器来下载。html

因此咱们在寻找这么一种方案:用户点了某个推广连接如何调用外部的浏览器实现下载功能呢?浏览器

 

 

 

 

 

 

 

 

 

 

好了,废话很少说了,直接上方案。微信

方案1:测试

弹出一个遮罩提示用户在新的浏览器窗口打开。spa

 

 
 

使用的是纯JS+HTML+CSS结合的方式,但不要一进入微信就弹出提示它在新浏览器中打开,在这个页面里面还能够提交表单查看信息等,只有它点击应用的连接后,才弹出提示它跳转后下载。orm

想要制做而又不懂技术的朋友能够前往htm

部分代码(网上有不少,我就不献丑了)接口

a>ip

×span>p>div>开发

var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();

window.onload = function() {

var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; //兼容IOS,不须要的能够去掉

var btn = document.getElementById('J_weixin');

var tip = document.getElementById('weixin-tip');

var close = document.getElementById('close');

if (is_weixin) {

btn.onclick = function(e) {

tip.style.height = winHeight + 'px'; //兼容IOS弹窗整屏

tip.style.display = 'block';

return false;

}

close.onclick = function() {

tip.style.display = 'none';

}

}

}

方案2:

这个方案就是咱们如今用的这种,相比第一种的话,转化率方面都有显著发的提高,

这个方案须要咱们借助一个外部的接口来实现此功能 

咱们在他们那边租用了此接口。

经过租用的接口能够实现安卓端微信直接唤醒手机默认浏览器打开指定的连接,从而实现下载APP的功能,

 
 

具体实现原理:

利用HTTP请求中Header中的user-agent字段,来识别用户的客户端,若是判断用户是在微信中打开的连接,则自动打开系统手机浏览器来打开连接。若是是在手机浏览器打开,则正常访问。

判断用户客户端的Javasript代码以下:

function is_wechat_client(){

      var ua = navigator.userAgent.toLowerCase();

      if(ua.match(/MicroMessenger/i)=="micromessenger"){

          return true;

      }else{

          return false;

      }

}

好了,亲们,上面两种办法笔者都尝试过了,都可行。若是你有更好的办法能够在此处留言,方便广大码友

相关文章
相关标签/搜索