C# Windows运行时从WebView中的JavaScript访问文件

C# Windows运行时从WebView中的JavaScript访问文件,c#,javascript,webview,windows-8.1,windows-phone-8.1,C#,Javascript,Webview,Windows 8.1,Windows Phone 8.1,我正在使用Three.js尝试实现一个跨平台的3D模型查看器。目前,我已经让它工作起来,并嵌入到我的XAML和C#应用程序中,用于Win 8.1和WindowsPhone 8.1的WebView。目前,我正在使用C#代码从设备上的文件以及捆绑文件加载模型(三角形网格)。问题是,这意味着我必须为我要添加的每个三角形从C#调用一个JavaScript函数,这使得UI在一段时间内没有响应。我已经尝试运行脚本async和加载程序async,但实际上没有帮助,因为所有的JS函数调用都需要由核心调度器处理,

我正在使用Three.js尝试实现一个跨平台的3D模型查看器。目前,我已经让它工作起来,并嵌入到我的XAML和C#应用程序中,用于Win 8.1和WindowsPhone 8.1的WebView。目前,我正在使用C#代码从设备上的文件以及捆绑文件加载模型(三角形网格)。问题是,这意味着我必须为我要添加的每个三角形从C#调用一个JavaScript函数,这使得UI在一段时间内没有响应。我已经尝试运行脚本async和加载程序async,但实际上没有帮助,因为所有的JS函数调用都需要由核心调度器处理,否则会出现无效的线程访问异常。一开始我没有意识到这一点,我认为用C#加载会更简单、性能更高。我现在可能需要在JS中重做加载程序

我现在需要问的是关于如何从JavaScript中访问文件的一些信息。我知道WindowsRT支持JS的文件访问API,但我猜这更适用于整个JS应用程序,因为它似乎无法在WebView*内部工作。我也更喜欢一些跨平台的东西,因为这也需要适用于Windows桌面、iOS、Android,可能还有Mac和Linux,那么我最好的选择是什么呢

*我在我的WP 8.1应用程序中尝试了JS at,但没有出现文件选择器。我的WebView看起来确实冻结了,但是我也没有任何异常出现


另外,我有一种感觉,可能是因为我不得不将文件复制到一个临时文件夹中,JS可以访问该文件夹。这并不理想,因为复制会浪费时间,但如果这是我唯一的选择,那么我可能不得不去做。如果这是我唯一的选择,我希望能得到一些帮助来实现它,因为JavaScript不是我的语言,我之所以使用它是因为有三个.JS…

一旦你使用WebView,你就需要在你的主机应用程序之间来回发布消息(C代码,假设你没有重写它)以及您在WebView中托管的网站。两者基本上是相互隔离的

不能使用Three.js格式的文档加载几何体吗?这里似乎有:


这样,您可以将整个几何体与每个单独的三角形进行代理。

不幸的是,这不是我想要做的研究,因为模型可能非常大,而且我不想为整个事件移动字符串,因为内存将受到限制。您找到解决方案了吗?