Iframe localStorage on Safari and Safari mobile
Asked Answered
M

1

37

I have a javascript function that will execute in an iframe of my page to set a localstorage. On another page, another iframe hosted on the same domain will try to read the value. A schema below :

Domain A
  |---- iframe - Domain B => Set localStorage

Domain C
  |---- iframe - Domain B => Read localStorage

Both localStorage function (Read and Write) are hosted on the same Domain (Domain B) On Safari and Safari mobile, the value is not transmitted from iframe in page A to iframe in page C. It's working fine on Chrome and Firefox. In Safari, it's acting as if the localStorage of the iframe is specific to the top page domain and not transmitted accross pages, even if the iframe domain is the same. Does anybody is experiencing the same problem with local storage on safari ?

Morganatic answered 5/12, 2013 at 13:50 Comment(2)
Yea, I got the same issue here..Wardlaw
Yep same issue, I'd like to see some documentation but haven't found anyKor
K
19

The issue with Safari is caused by the "block cookies and other website data" preference which is set to "From third parties and advertisers" by default.

Update: on Safari 8, this option is "Cookies and website data: Allow from websites I visit".

The expected behaviour is only available if the user sets this option to "Never", as seen in the following picture: https://i.sstatic.net/AP4ed.png

It's unlikely that there is a loophole unfortunately - the intention of the setting is clear.

Kor answered 18/3, 2014 at 11:24 Comment(4)
Does anybody know how to share localStorage data between domains when "From third parties and advertisers" is set?Floydflss
this not right. because there are websites like disqus and facebook like button setting so many variables in localstorage and cookies. there has to be a way,Friede
How come "cookies" are accessible not "localStorage" ? definitely a bug, safari should fix it.Haematoxylin
There ARE workarounds. See: https://mcmap.net/q/426948/-safari-localstorage-not-shared-between-iframes-hosted-on-same-domainGalenical

© 2022 - 2024 — McMap. All rights reserved.