2010-12-01 18 views
11

iPad/iPhone üçüncü taraf sitelerinden çerezleri desteklemediğinden, değerleri localStorage'da depolamak istiyorum.Javascript localStorage ve etki alanları

<script src="http://domainB/something.js"></script> 

EtkiAlanıB bu komut window.localStorage erişebilir ve o inşaat büyük: EtkiAlanıA üzerine bir örnek olabilir. Ancak değerler domainA'da saklanır, çünkü bu belgenin konumu.

Komut dizilimimi sourceB alanında olan bir iframe içine koyarsam, çalışır, ancak karelerden kaçınmaya çalışıyorum. Bu yüzden sorum şu: uzak alandaki localStorage değerlerini almak/ayarlamak için bir yol var mıdır, daha sonra domainB'yi ziyaret ettiğimde orada olacaklar mı?

+6

Tanrı umarım değildir. –

+0

Dude, kendi sorunuzu okuyun: ** ** bir ** uzaktan ** alan adındaki ** ** depolama ** Sadece şaka, ne demek istediğini biliyorum. Cevabı bilmiyorum. Ama ben bununla Jan'le birlikteyim (+1) – Jan

+0

Eh, onları remoteCookies olarak adlandırmazlar, ancak önceki etki alanından atıfta bulunulan bir URL ile ayarlanmış olsalar bile, bunları kuran etki alanında bulunurlar. Benzer bir şey başarmayı umuyordum. Sadece komut dosyasından iframe içeren bir betik bunu değiştirir, ancak daha zarif bir şey için umuyordum. –

cevap

5

Bu, iframe geçici çözümünüz olmadan mümkün değildir.

aynı kaynak politikası ihlal edecek birden çok etki aynı localStorage nesneye erişim yeteneği ve Spec:

Kullanıcı ajanları bir SECURITY_ERR istisna yükseltmeli her bir depolama nesnesinin üyelerinin herhangi başlangıçta localStorage öznitelik tarafından döndürülen olan etkili komut kökenli localStorage özelliği erişilen üzerinde pencere nesnesi Belgesi kaynağı olarak aynı değildir komut dosyaları tarafından erişilir.

http://dev.w3.org/html5/webstorage/#security-localStorage

bu iPhone olmasaydı, ben bir flaş çözüm önermek istiyorum. Ancak localStorage ile, alanlar arası bir politika uygulayana kadar şansınız kalmadı.

İlgili konular