--- title: StorageEvent slug: Web/API/StorageEvent tags: - 本地存储 translation_of: Web/API/StorageEvent ---

{{APIRef("Web Storage API")}}

当前页面使用的storage被其他页面修改时会触发StorageEvent事件. 

[译者:事件在同一个域下的不同页面之间触发,即在A页面注册了storge的监听处理,只有在跟A同域名下的B页面操作storage对象,A页面才会被触发storage事件] 

{{InheritanceDiagram}}

Note: 尽管这个事件已经早在 {{ Gecko("2.0") }}时就已存在,但是并不符合规范. 老的事件模型直到 {{ interface("nsIDOMStorageEventObsolete") }} 确定才被表现出来.

方法描述

void initStorageEvent(
  in DOMString typeArg,
  in boolean canBubbleArg,
  in boolean cancelableArg,
  in DOMString keyArg,
  in DOMString oldValueArg,
  in DOMString newValueArg,
  in DOMString urlArg,
  in nsIDOMStorage storageAreaArg
);

属性

属性名 类型 描述
key DOMString 该属性代表被修改的键值。当被clear()方法清除之后该属性值为null(只读)
newValue DOMString 该属性代表修改后的新值。当被clear()方法清理后或者该键值对被移除,newValue 的值为 null(只读)
oldValue DOMString 该属性代表修改前的原值。在设置新键值对时由于没有原始值,该属性值为 null(只读)
storageArea {{ Interface("nsIDOMStorage") }} 被操作的storage对象。(只读)
url DOMString

key 发生改变的对象所在文档的URL地址。(只读)

方法

initStorageEvent()

类似DOM中的初始化事件,即初始化新创建的Storage对象的属性。

void initStorageEvent(
  in DOMString typeArg,
  in boolean canBubbleArg,
  in boolean cancelableArg,
  in DOMString keyArg,
  in DOMString oldValueArg,
  in DOMString newValueArg,
  in DOMString urlArg,
  in nsIDOMStorage storageAreaArg
);
参数:
typeArg
事件名
canBubbleArg
布尔值,代表是否可以通过dom冒泡
cancelableArg
布尔值,代表是否可以注销事件
keyArg
事件结果时被改变的值对应的属性名称
oldValueArg
旧值
newValueArg
新值
urlArg
事件初始化时页面的url
storageAreaArg
 发生在哪个storage对象上

参阅