打开分享链接⾃动调⽤默认浏览器或提⽰选择浏览器打开如手机上可以打html与css的app
何实现
上半年公司有⼀个新的APP项⽬上线,我们在项⽬⾸页做个⼆维码,然后⽤户⽤⼿机扫⼀扫就能下载了。但是很多⽤户反映扫⼀扫之后下载不了,了解之后才知道这些⽤户都是使⽤的的扫⼀扫,⽽我们开发测试⼈员⼀般使⽤uc之类的浏览器做扫描。上⽹查了⼀下,⾃带的内置浏览器屏蔽了下载功能,所以才出现⽤扫⼀扫不能下载的情况。这时候我们⼀般会建议⽤户使⽤uc或者其他第三⽅浏览器⾃带的扫⼀扫功能下载。但是现在的太普及了,很多⼈都习惯性的使⽤来扫码下载,总不能每个⽤户都解释⼀遍,所以我们⼀直在寻解决⽅案。要解决这个问题思路很明确,既然内置浏览器不⽀持下载,那就只能想办法调⽤外部浏览器来下载。
所以我们在寻这么⼀种⽅案:⽤户点了某个推⼴链接如何调⽤外部的浏览器实现下载功能呢?
好了,废话不多说了,直接上⽅案。
⽅案1:
弹出⼀个遮罩提⽰⽤户在新的浏览器窗⼝打开。
使⽤的是纯JS+HTML+CSS结合的⽅式,但不要⼀进⼊就弹出提⽰它在新浏览器中打开,在这个页⾯⾥⾯还可以提交表单查看信息等,只有它点击应⽤的链接后,才弹出提⽰它跳转后下载。
想要制作⽽⼜不懂技术的朋友可以前往
部分代码(⽹上有很多,我就不献丑了)
a>
×span>p>div>
var is_weixin = (function(){return LowerCase().indexOf('micromessenger') !== -1})();
var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; //兼容IOS,不需要的可以去掉
var btn = ElementById('J_weixin');
var tip = ElementById('weixin-tip');
var close = ElementById('close');
if (is_weixin) {
tip.style.height = winHeight + 'px'; //兼容IOS弹窗整屏
tip.style.display = 'block';
return false;
}
tip.style.display = 'none';
}
}
}
利⽤HTTP请求中Header中的user-agent字段,来识别⽤户的客户端,如果判断⽤户是在中打开的链接,则⾃动打开系统⼿机浏览器来打开链接。如果是在⼿机浏览器打开,则正常访问。
判断⽤户客户端的Javasript代码如下:
function is_wechat_client(){
var ua = LowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger"){          return true;
}else{
return false;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。