最近遇到这么一个需求,就是用户要求在提供下载的页面,不想对外暴露下载地址。但是原程序中使用的window.open()来实现的在新窗口中打开地址,以达到下载文件的目的。在部分浏览器上(如:IE浏览器、火狐浏览器等)会直接打开一个新的网页窗口,并且下载地址清晰可见,这就对用户的文件私密性起不到很好的保障作用,尤其像做文库系统、知识付费系统一类的站长,这个是一个极为头疼的问题。
经过一番查找,最后转换了思路,使用iframe来解决这个问题,尽管不能100%的拦截下载地址,但是在大部分的浏览器上还是很好的避免了下载地址直接暴露的行为,以下为实现代码:
var myifram = document.createElement('iframe'); myifram.src=this.link; document.body.appendChild(myifram);
其中this.link为下载地址,其实解决问题的代码很简单,最主要的是转换思路。
建站SEO咨询
小程序咨询