问题描述
使用的layuimini后台模板,第一次点击左侧菜单栏的时候会刷新页面,然后切换别的菜单之后,再次点击原页面,页面不会刷新,例如当我每成功审核一条数据,跳转到审核历史页面,应该能看到刚才审核的那条数据,但是现在却要每次手动刷新之后,才能看到刚才审核的那条数据。=
解决方案
利用HTML5的storage事件 当同源页面的某个页面修改了localStorage,其余的同源页面只要注册了storage事件,就会触发”
所以,localStorage 的例子运行需要如下条件:
同一浏览器打开了两个同源页面 其中一个网页修改了 localStorage 另一网页注册了 storage 事件
例如
1.在A页面中监听storage事件
window
.addEventListener("storage", function (e
) {
...
});
2.在B页面触发storage事件
localStorage
.setItem(key
,generateUUID())
function generateUUID() {
var d
= new Date().getTime();
if (window
.performance
&& typeof window
.performance
.now
=== "function") {
d
+= performance
.now();
}
var uuid
= 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c
) {
var r
= (d
+ Math
.random() * 16) % 16 | 0;
d
= Math
.floor(d
/ 16);
return (c
== 'x' ? r
: (r
& 0x3 | 0x8)).toString(16);
});
return uuid
;
}