1
如果我有一个页面A,它会加载多个iframe B,C,D,E,F。并且在每个iframe中,都有javascript代码,它在本地存储器中存储密钥color
,值为red
。所有的iframe本地存储是否会相互冲突或独立?如果它不是独立的,有没有办法让它独立?每个iframe都有html5本地存储存储吗?
由于
如果我有一个页面A,它会加载多个iframe B,C,D,E,F。并且在每个iframe中,都有javascript代码,它在本地存储器中存储密钥color
,值为red
。所有的iframe本地存储是否会相互冲突或独立?如果它不是独立的,有没有办法让它独立?每个iframe都有html5本地存储存储吗?
由于
根据the W3C:
本地存储是每原点(每个域和协议)。来自一个来源的所有页面可以存储和访问相同的数据。
换句话说,如果iframe全部驻留在同一个域中,那么它们将共享相同的本地存储实例。
的一种方式,以避免潜在的冲突将是使用当前页面的URL作为钥匙插入本地存储的字典,是这样的:
localStorage.setItem(window.location.pathname + "_color", "red");