我有一个javascript函数,它将在我的页面的iframe中执行,以设置一个本地存储。在另一个页面上,托管在同一域中的另一个iframe将尝试读取该值。下面是一个模式:
Domain A
|---- iframe - Domain B => Set localStorage
Domain C
|---- iframe - Domain B => Read localStoragelocalStorage功能(读和写)都托管在Safari和Safari上的同一个域(域B)上,该值不会从页面A中的iframe传输到页C中的iframe。它在Chrome和Firefox上运行良好。在Safari中,如果iframe的localStorage是特定于顶级页面域的,而不是跨页传输的,即使iframe域是相同的,也是如此。有没有人在当地的野生动物园里遇到过同样的问题?
发布于 2014-03-18 11:24:13
Safari的问题是由于默认的设置为“来自第三方和广告商”的“块cookie和其他网站数据”首选项引起的。
更新:上的Safari 8,这个选项是“烹饪和网站数据:允许从网站我访问”。
只有当用户将此选项设置为“从不”时,预期的行为才可用,如下图所示:http://i.stack.imgur.com/AP4ed.png
不幸的是,不太可能有漏洞--设置的意图是明确的。
https://stackoverflow.com/questions/20401751
复制相似问题