1.单页面监听storage事件
var
orignalSetItem =
localStorage.
setItem;
localStorage.
setItem =
function(
key,
newValue){
var
setItemEvent =
new
Event(
"setItemEvent");
setItemEvent.
key=
key;
setItemEvent.
newValue =
newValue;
window.
dispatchEvent(
setItemEvent);
orignalSetItem.
apply(
this,
arguments);
}
window.
addEventListener(
"setItemEvent",
function(
e) {
console.
log(
e.
key+
"~~~"+
e.
newValue)
});
2.不同页面
1)监听了storage
事件
<!DOCTYPE html
>
<
html
>
<
head
lang=
"en"
>
<
title
>A
</
title
>
</
head
>
<
body
>
<
script
>
window.
addEventListener(
"storage",
function (
e) {
alert(
e.
newValue);
});
<
/
script
>
</
body
>
</
html
>
2)修改了localStorage
<!DOCTYPE html
>
<
html
>
<
head
lang=
"en"
>
<
title
>B
</
title
>
</
head
>
<
body
>
<
script
>
localStorage.
clear();
localStorage.
setItem(
'foo',
'bar');
<
/
script
>
</
body
>
</
html
>