2013-06-25 11 views
6

Weblinks'i takip ederken HTML5 sessionStorage'ın farklı davranışlarını görüyorum. Bazen ilk sayfanın sessionStorage'ı TargetPage'e kopyalanıyor, bazen de TargetPage'de boş bir sessionStorage alıyorum.sessionStorage yeni pencerede boştur, target = "_ blank" ile bir bağlantı izlenirken boş değil

Herkes bana açıklayabilir mi, neden bu böyle?

aşağıdaki linki Verilen: Ben sağ tıklama ile bağlantıyı açtığınızda

<a href="TargetPage.html" target="_blank">link</a> 

-> "Yeni sekmede aç", sessionStorage TargetPage üzerinde boş. (Beklenen) Ancak bağlantıyı normal bir sol tıklama ile açtığımda, sessionStorage TargetPage'e kopyalanır. (Beklenmeyen)

Not: Ben Chrome ve Firefox'ta bu davranışı gördük. Internet Explorer 9, her iki durumda da boş bir sessionStorage sağlar. Bu benim beklenen davranışım.

Ben davranışı göstermek için bir jsFiddle oluşturduk: http://jsfiddle.net/P9nUv/3/

kimse olursa olsun açılmış ne kadar, Yeni Tarayıcı Sekmeler/Windows için boş bir sessionStorage sağlamak için bir çapraz tarayıcı çözümün düşünebilir ?

Herhangi bir yardım için teşekkür ederiz!

cevap

1

IMHO:

Sorunun farklı browsing context olduğunu düşünüyorum. W3C webStorage patent açıklamasında bir paragraf var:

yeni belge bir üst düzey tarama bağlamı olan bir tarama bağlamında oluşturulduğunda, kullanıcı aracısı görmek için kontrol gerektiğini üst düzey tarama bağlamında ise Bu alıntı o belgenin kökeni

Document için bir oturum depolama alanına sahip yeni bir sayfa anlamına gelir. Yani aynı sayfada yeni sekmede açıyorsanız aynı browsing context ve aynı sessionStorage'ı kullanırsanız, ancak yeni pencerede açarsanız (yani target = "_ blank") browsing context farklıdır.

TD

sorun ayrı bir CPU parçacığı olabilir, bu nedenle, ayrı browsing context ve ayrı sessionStorage s.

1

kez daha eski bir soru ama bu sitede bu soruna herhangi bir cevap bulamadık ve ben sadece geçici bir çözüm buldu Firefox 44. Bu aynı sorunu vardı ve buradan bulabilirsiniz: https://stackoverflow.com/a/35596134/3751509

Bu yardımcı olur umarım.

İlgili konular