1、可以在页面引入的JS文件后面增加日趋,如果不经常改动的文件,可以在每次改动后修改后缀。
2、对于第二种情况,一般的处理方式是在请求的路径后面加上毫秒值,这样每次请求的路径都不一样,但是对于后台来说都是一样的,用来欺骗浏览器,进行实时请求,不调用浏览器缓存。
个人认为如果它已经被浏览器下载到缓存,而且尚未过期,那么浏览器会优先使用缓存的,虽然浏览器也会向服务器发送文件请求,但如果请求的文件自上次被下载以来没有变更过,实际是不会重复下载的,服务器会返回一个信号,通知浏览器直接使用缓存中的文件,即可起加速作用,又可节省带宽.如果没有人为干预,浏览器和服务器通常可以自动完成上述过程,不用特别的设计.
window.open就自动下载了。但是图片可以是svg的话
function saveAs(Url,filename){
var blob=new Blob([''], {type:'application/octet-stream'})
var url = webkitURL.createObjectURL(blob)
var a = document.createElementNS(xhtml,'a')
a.href = Url
a.download = filename
var e = document.createEvent('MouseEvents')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
webkitURL.revokeObjectURL(url)