以下是從Mozilla的網站採取:是IndexedDB和同源策略
最喜歡的網絡存儲解決方案,是IndexedDB遵循同源策略。因此,雖然您可以訪問域中存儲的數據,但無法跨不同域訪問數據。
從理解來自Javascript的不同領域的同源策略。但我不明白這是如何適用於IndexedDB。我認爲IndexedDB只是一個數據庫,你可以隨心所欲地存儲它。 IndexedDB如何知道域名的任何內容,爲什麼它甚至會關心它是否知道?即使我設法從不同的域中檢索數據(這是可能的),我仍然可以將數據存儲在數據庫中。那麼這個領域與此有什麼關係?
我正在構建一個運行在Electron中的單頁網頁應用程序,並且可以訪問來自多個域的數據。我將把這些數據存儲在一個IndexedDB數據庫中。據推測,我只會有一個數據庫。目前還不清楚在這種情況下,同源政策會有什麼,如果有的話。
如果我的web應用程序不導航到一個url,但只使用XMLHttpRequest從後端服務檢索數據,那麼從技術上講沒有域。
但是,如果我的腳本作爲JavaScript文件嵌入到Web應用程序中,那麼沒有與該腳本相關聯的域。那麼IndexedDB如何處理? – user3176670
我不知道電子用作應用程序中嵌入腳本的域。可能是本地主機或某些特定的東西。無論如何,如果您還在應用程序中加載了真實域中的腳本,並且Electron贊成SOP,那麼該腳本將無法訪問應用程序的數據。 –
電子使用本地主機。 Electron贊成SOP,但這可以被禁用。由於我需要訪問來自不同域的數據,因此我將被要求禁用此功能,所以在這種情況下,我相信SOP對IndexedDB數據庫沒有任何影響。 – user3176670