2013-12-09 17 views
0

我對Web開發有合理的經驗,我相當肯定這不可能,但我想向社區公開此問題以防萬一有人想到某些利基/天才足以應付它。在JavaScript中跨頁面共享本地不可序列化的數據

爲了說明這一點,我很高興能夠像任何人都能想到的那樣「在盒子外面」,因爲它已經 - 我認爲 - 已成定局,爲此做出一刀切的解決方案。

我想在同一個域上的兩個不同頁面上共享數據(特別是不可序列化的數據,例如websocket)。我很高興使用HTML 5功能,如本地存儲和網絡工作人員,但要求是沒有可見的錨定機制(如橋接兩個頁面的彈出窗口),並且只有一個頁面可見一次打開。即你在一個頁面上,你點擊一個鏈接,離開該頁面,然後轉到下一個頁面 - 但數據仍然存在。

這裏的訣竅是一頁一頁的一頁。如果我們可以同時打開兩個頁面,那麼我們可以將數據鎖定在shared web worker中。但是,在單個頁面上,當您點擊一個鏈接並離開當前頁面並轉到下一個頁面,即使是相同的域名導航時,Web工作人員也會死亡,正如您所期望的那樣。

在Chrome中,您可以使用來自webapp的background page - 但理想情況下,我希望某些不需要安裝諸如webapps之類的「附加內容」,或者在遵守法規的情況下至少有一天可以跨瀏覽器趕上。

再一次,我並不認爲這是可行的,但我想我會問,以防有人對前端開發有更多的瞭解有任何想法。我經常在無國籍的世界裏認識到這個問題非常多。

謝謝!

編輯:進一步的要求是,內容的AJAX重載使得頂層頁永遠不會實際終止/再沒有在這種情況下的一個選項。

回答

0

除非有我沒有看到,爲什麼不能做到這一點作爲一個單頁的應用程序,其中點擊一個鏈接加載該頁面(例如,見jQuery.load)到你的基地頁面,你有你的webworker(或規範隨你)。

+0

好一點 - 我應該更清楚地說明該頁面* *已經改變,即對所有內容阿賈克斯重裝無依賴。我會編輯 – Rhys