两个不同页面,操作其中一个页面,另外一个页面上需要实时发生改变
如图:
A和B是两个不同的页面,编辑A,点击添加,B页面内容也需要发生改变
利用localstorage中的监听
B页面打开A页面,操作A页面时,点击添加,存储一个值,监听的也是这个值:
A页面:
localStorage.setItem("addSpeechItem",new Date().getTime())
B页面:
function storageChange(key,fn,value){//key为要存储的名字,fn为触发storage后要执行的方法,value可以自己设置存的值,可以利用这个值跨页面传参
var val = value ? JSON.stringify(value) : new Date().getTime()//为value设置默认值
localStorage.setItem(key,val)
window.addEventListener('storage',function(e){
if(e.key == key){//判断是否是目标值发生改变
fn(e.newValue,e.oldValue)//执行fn,返回新值和旧值
}
})
}
// 新增话术监听以及编辑话术监听
storageChange('addSpeechItem',function(){
alert("改变")
//在这里做具体操作
})