variable metodos localstorage event con javascript html iframe safari

javascript - metodos - Iframe localStorage en Safari y Safari para dispositivos móviles



metodos localstorage (1)

Tengo una función de JavaScript que se ejecutará en un iframe de mi página para establecer un almacén local. En otra página, otro iframe alojado en el mismo dominio intentará leer el valor. Un esquema a continuación:

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

Ambas funciones localStorage (lectura y escritura) están alojadas en el mismo dominio (dominio B) en Safari y Safari móvil, el valor no se transmite del iframe en la página A al iframe en la página C. Funciona bien en Chrome y Firefox. En Safari, actúa como si el almacenamiento local del iframe fuera específico del dominio de la página principal y no se transmitiera entre páginas, incluso si el dominio del iframe es el mismo. ¿Alguien tiene el mismo problema con el almacenamiento local en safari?


El problema con Safari es causado por la preferencia de " bloquear cookies y otros datos del sitio web " que está configurada como " De terceros y anunciantes " de forma predeterminada .

Actualización: en Safari 8, esta opción es "Cookies y datos del sitio web: Permitir desde los sitios web que visito ".

El comportamiento esperado solo está disponible si el usuario establece esta opción en "Nunca", como se ve en la siguiente imagen: http://i.stack.imgur.com/AP4ed.png

Es poco probable que haya una laguna desafortunadamente, la intención de la configuración es clara.