使用window.open(url, ‘_self’)
导出表格
使用window.open(url, ‘_self’)
导出表格后,页面会刷新,本来存放的localStorage
会被清(因为刷新页面做了清空表格筛选条件和页码)
1 2 3 4 5 6 7 8
| // 监听手动刷新页面事件(按浏览器的刷新按钮||使用js方法刷新页面) window.onbeforeunload = function(event){ // 清空表格缓存的页码数据 removeItem("pages"); // 清空表格筛选条件缓存数据 removeItem("formData"); console.log('刷新了页面') };
|
解决方法:使用sessionStorage
临时缓存一份
1 2 3 4 5 6 7
| // 在导出表格前,先临时拷贝localStorage缓存数据到sessionStorage // 使用window.open导出表格,会将localStorage中的formData清空 sessionStorage.setItem('formData', JSON.stringify(getItem('formData'))); sessionStorage.setItem('pages', JSON.stringify(getItem('pages'))); // 导出表格后,从sessionStorage中拷贝数据再次缓存到locaStorage setItem('formData', sessionStorage.getItem('formData')); setItem('pages', sessionStorage.getItem('pages'));
|
通过url
导出服务器端文件
1 2 3
| // window.location.href= url; // 或 window.open(url, '_self')
|