¿Se pueden compartir las bases de datos HTML5 y localStorage entre subdominios?

Estoy intentando compartir datos entre subdominios usando Safari. Me gustaría utilizar una base de datos HTML5 (específicamente localStorage ya que mis datos no son más que pares clave-valor). Sin embargo, parece que no se puede acceder a los datos almacenados en domain.com desde sub.domain.com (o viceversa). ¿Hay alguna manera de compartir una única base de datos en esta situación?

Actualización 2016

Esta biblioteca de Zendesk funcionó para mí.

Muestra:

Cubo

// Config st subdomains can get, but only the root domain can set and del CrossStorageHub.init([ {origin: /\.example.com$/, allow: ['get']}, {origin: /:\/\/(www\.)?example.com$/, allow: ['get', 'set', 'del']} ]); 

Tenga en cuenta los $ para igualar el final de la cadena. La expresión regular en el ejemplo anterior coincidirá con orígenes tales como valid.example.com , pero no invalid.example.com.malicious.com .

Cliente

 var storage = new CrossStorageClient('https://store.example.com/hub.html'); storage.onConnect().then(function() { return storage.set('newKey', 'foobar'); }).then(function() { return storage.get('existingKey', 'newKey'); }).then(function(res) { console.log(res.length); // 2 }).catch(function(err) { // Handle error }); 

Compruebe https://stackoverflow.com/a/39788742/5064633

Hay una forma simple de usar cualquier dominio cruzado, solo crea una página simple que se incluirá como iframe proxy alojado en el dominio al que intentas acceder, envía PostMessage a ese iframe y dentro de iframe haces la manipulación de la base de datos LocalStorage. Aquí hay un enlace al artículo que hace esto con lcoalStorage . Y aquí está la demostración que envía un mensaje a una página diferente en el subdominio comprueba el código fuente, utiliza iframe y PostMessage.

Google Chrome bloquea localmente el acceso a la información desde un iFrame en otro dominio de manera predeterminada, a menos que se haya habilitado una cookie de terceros y Safari en iPhone … la única solución parece ser abrir el dominio principal en un dominio diferente y luego enviarlo al niño. a través de window.postMessage pero se ve feo y furtivo en los teléfonos …