2017-07-07 38 views
1

我試圖在反應vr應用程序中訪問文檔。該應用程序是使用react-vr-cli創建的。但是,當我嘗試訪問該頁面時,出現以下錯誤。ReactVr - 文檔未定義

document is not defined 
+0

這很奇怪。你可以在某處發佈你的項目嗎? –

+0

對於遲到的回覆感到抱歉。我發現什麼是錯的。該文檔處於自調用函數中,出於某種原因,該函數的範圍不是窗口,即其DedicatedWorkerGlobalScope。 –

+0

嗨,我再次檢查,問題不是自我調用功能。如果我導入腳本,腳本將在DedicatedWorkerGlobalScope而不是窗口中運行。 –

回答

2

的陣營VR實例網絡工作者內運行,這就是爲什麼你得到的DedicatedWorkerGlobalScope代替window爲什麼沒有全球document

這就是React VR的工作原理,這就是爲什麼有一個react-vr-web包負責通過postMessage與VR實例進行通信。

不幸的是,網絡工作者只能訪問全球範圍內瀏覽器中存在的功能子集。 對於某些人,您可以在React VR中找到解決方法,如AsyncStorage而不是localStorage。對於其他任何事情,您都必須通過postMessage以及onmessage的聽衆想出一種在網絡工作者之外進行通信的方式。

window向VR實例發送內容的另一種方式是實現本地模塊作爲兩者之間的橋樑。你可以在 Persistent bridge between a React VR component and native module code找到更多的信息。

相關問題