2017-07-07 56 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找到更多的信息。