我在a.b.com中使用var local=localStorage;window.parent.postMessage(local,'*')这个方法,然后在c.b.com中引入iframe src='a.b.com'用window.addEventListener('message',function(){})接收为什么收不到信息,除了在Safari浏览器中都可以接收,就是Safari不能得到localstorage,为什么呢?
我在a.b.com中使用var local=localStorage;window.parent.postMessage(local,'*')这个方法,然后在c.b.com中引入iframe src='a.b.com'用window.addEventListener('message',function(){})接收为什么收不到信息,除了在Safari浏览器中都可以接收,就是Safari不能得到localstorage,为什么呢?
最好还是走标准规范,发送native的对象变量,不是所有浏览器都支持一样的标准。两个域名下分别绑定事件监听,同时事件实现localStorage的get 和 set。 postMessage的参数封装一个结构体,转为JSON字符串来发送吧。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
任何浏览器都不能获取跨域的信息。