2015-11-30 54 views
1

如果我有一个页面A,它会加载多个iframe B,C,D,E,F。并且在每个iframe中,都有javascript代码,它在本地存储器中存储密钥color,值为red。所有的iframe本地存储是否会相互冲突或独立?如果它不是独立的,有没有办法让它独立?每个iframe都有html5本地存储存储吗?

由于

回答

5

根据the W3C

本地存储是每原点(每个域和协议)。来自一个来源的所有页面可以存储和访问相同的数据。

换句话说,如果iframe全部驻留在同一个域中,那么它们将共享相同的本地存储实例。

的一种方式,以避免潜在的冲突将是使用当前页面的URL作为钥匙插入本地存储的字典,是这样的:

localStorage.setItem(window.location.pathname + "_color", "red");