最近在项目中需要写popstate
回调,发现在这个回调里获取history.state
有时会为null
根据MDN的描述,popstate
事件本身是有state
属性的,因此用event.state
对比测试了一下,发现和history.state
不一样的,event.state
可以获取到。
猜测可能是浏览器响应这个事件时会强制将history.state
置空,然后再从event.state
获取并设置历史状态
最近在项目中需要写popstate
回调,发现在这个回调里获取history.state
有时会为null
根据MDN的描述,popstate
事件本身是有state
属性的,因此用event.state
对比测试了一下,发现和history.state
不一样的,event.state
可以获取到。
猜测可能是浏览器响应这个事件时会强制将history.state
置空,然后再从event.state
获取并设置历史状态