但是针对缓存这事,一个是在服务端设置,也就少web服务或者少CDN那设置缓存。很多情况下,图片,css都是默认缓存的,你打开开发者工具之后确保禁用缓存的复选框取消,你刷新一下,看看那图片、css是不是就是304状态。
有时候在更改js文件后,页面并没有及时显示出来,可能由于修改的文件不对,或者存在缓存问题。面对的缓存问题有两个:
一是页面引入的js文件缓存。
二是js请求后台的缓存。
解决方法:
对于第一种情况,有两种处理方式:1、可以在页面引入的js文件后面增加日趋,如果不经常改动的文件,可以在每次改动后修改后缀。<script type="text/javascript" src="scripts/jquery-1.5.2.min.js?version=1"></script>
2、修改js文件的名字,如<script type="text/javascript" src="scripts/jquery.js"></script>
对于第二种情况,一般的处理方式是在请求的路径后面加上毫秒值,这样每次请求的路径都不一样,但是对于后台来说都是一样的,用来欺骗浏览器,进行实时请求,不调用浏览器缓存。
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)