localStorage 存在跨域问题?

3 min read

是的,localStorage 存在跨域问题。

浏览器的同源策略限制了不同源(协议、域名、端口)间的交互,包括读写 localStorage。

如果页面 A 的域名是 www.example.com,页面 B 的域名是 api.example.com,那么在页面 A 中无法直接读写或访问页面 B 的 localStorage。

解决 localStorage 跨域问题的常用方法是使用跨域消息传递 (cross-origin messaging) 技术,通过 postMessage 方法进行跨文档消息的传递,从而实现在不同域间进行通信。

另外,如果是将两个页面嵌入到同一个域名下的 iframe 中,可以通过 iframe 的 contentWindow 对象直接访问到另一个页面中的 localStorage。