事实证明,这实际上是正确的,并且我误解了规范
当在与本地存储区域相关联的存储对象x上??调用setItem(),removeItem()和clear()方法时,如果这些方法执行了某些操作,则在其Window对象的localStorage属性的Storage对象为的每个Document对象中与x以外的同一存储区域关联的存储事件必须被触发
换句话说, 更新localStorage
对象并导致事件的窗口/选项卡 ,每个窗口/选项卡都会触发存储事件。
因此事件没有被触发,因为我只打开了一个窗口/选项卡。如果将上面的代码放在一个页面中,然后在两个选项卡中打开该页面,则会在第二个选项卡中触发该事件。