admin管理员组文章数量:1565264
微信浏览器是屏蔽资源文件下载的,但是微信公众号内如何下载文件呢。只能借助于在其他浏览器打开,也就是跳到其他浏览器进行下载(如图)。
具体的逻辑很简单,就是在需要下载的位置比如:是一个单击事件
<span onclick="docDownload(filepath)">作业</span>
//filepath为文件的下载访问路径 http://dem***o/file/2018-12/11/dfd223dfaf.doc
function docDownload(filepath){
window.top.location.href="/home/download.html?fileurl="+filepath;
}
这个页面(/home/download.html)是个引导下载页(如下效果)
在这个页面里添加js代码如下:
//从浏览器url地址中获取参数对应的值
function GetRequest() {
var url = location.search;//获取url中"?"符后的字符串
var theRequest = new Object();
if (url.indexOf("?")!=-1){ //存在? 则
var str = url.substr(1);
strs = str.split("&"); //字符串分割
for(var i=0;i<strs.length;i++){
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
return theRequest;
}
//判断是否是微信浏览器
function is_weixin() {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
console.log('微信浏览器');
return true;
} else {
console.log("不是微信浏览器");
return false;
}
}
var is_weixin=is_weixin();
if(is_weixin){
//是微信浏览器 显示返回按钮 (用户可以选择下载或者返回)
$('#back_btn').show();
}else{
//不是微信浏览器
//执行下载
window.location.href=GetRequest().fileurl;
}
以上是比较简单的做法,但是足以说明逻辑流程,而且也能解决问题。
如果有更好的解决办法,希望大家留言分享。
版权声明:本文标题:微信公众号下载文件(避开微信浏览器的文件下载方法) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1726895612a1089094.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论