手记

在微信中调用外部浏览器实现文件下载之解决

网传方案(已失效):

使用微信打开网址时,无法在微信内打开常用下载软件,手机APP等。网上流传的各种微信打开下载链接,微信已更新基本失效,最新的一个是使用链接跳转方式:·

http://mp.weixin.qq.com/mp/redirect?url=http://baidu.com#weixin.qq.com#wechat_redirect。

将链接文本中的http://baidu.com换成你的下载链接地址。本人已经测试可行。欢迎打开微信扫码测试。已经失效,用户可以将应用传到应用宝。

遮罩解决方法

今天要加的是一个遮罩提示的解决方法:弹出一个遮罩提示用户在新的浏览器窗口打开

再也不用管微信如何的更新,直接判断微信的ua,然后弹出一个遮罩提示用户在浏览器中打开下载。并且不加关闭的按钮。类似于下面这样子:

这样子用户就只能在浏览器中打开,并且可以直接下载应用了。欢迎打开微信扫描查看(其他扫描没有效果)。

演示和下载

我已经将代码上传到github上了,你可以直接下载我的图片和js来用。github地址

如果这个代码对你有用,希望你在下载时也点击star一下。

版本一:纯JS。

版本二:纯jQuery。

版本三:jquery+css+div(虽然操作复杂,但实际上平时常用这种)。

如果你已经将它用在你的项目中了,欢迎留下你的在线地址哦。
 

号外:由于这个代码一进入就是弹出提示,可能会影响用户其它操作,故而写了另一篇优化的代码,支持用户点击下载链接之后才弹出提示,并且还可以点击关闭。

详情请看:微信扫描打开APP下载链接提示代码优化

简单的教程:微信内置浏览器不支持下载文件应用的解决方法答疑


终极解决方法

上面的方案其实可以再次优化:安卓手机可以利用特殊js代码自动跳出微信,在外部浏览器里打开(由于IOS系统限制,目前苹果只能使用遮罩解决方案)


演示:

0人推荐
随时随地看视频
慕课网APP