简体   繁体   English

带有webGL的Android Webview

[英]Android webview with webGL

i am trying to find it a way from last few hours and couldn't done. 我试图从最近几个小时找到一种方法,但无法完成。

Issue: I have one html page and a webGL file(three.js file). 问题:我有一个html页面和一个webGL文件(three.js文件)。 I need to open this html file in Android Webview. 我需要在Android Webview中打开此html文件。 WebView is failed to load the html page. WebView无法加载html页面。

Below is the code that i have tried 下面是我尝试过的代码

        WebSettings settings = webView.getSettings();
    webView.addJavascriptInterface(this, "Android");
    settings.setJavaScriptEnabled(true);
    settings.setDomStorageEnabled(true);
    settings.setJavaScriptCanOpenWindowsAutomatically(true);
    settings.setUseWideViewPort(true);
    webView.setWebChromeClient(new WebChromeClient(){
    });
 webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/Android/index.html");

I had placed all my resources inside sdcard. 我已将所有资源都放在sdcard中。

Error log: 错误日志:

 "Uncaught ReferenceError: $ is not defined", source:     file:///storage/emulated/0/Android/all.min.js (17)
 "THREE.WebGLRenderer", source: file:///storage/emulated/0/Android/all.min.js (11)
 "THREE.WebGLRenderer: OES_texture_float extension not supported.", source: file:///storage/emulated/0/Android/all.min.js (12)
 "THREE.WebGLRenderer: OES_texture_float_linear extension not supported.", source: file:///storage/emulated/0/Android/all.min.js (12)
 "THREE.WebGLRenderer: OES_texture_half_float extension not supported.", source: file:///storage/emulated/0/Android/all.min.js (12)
 "THREE.WebGLRenderer: OES_texture_half_float_linear extension not supported.", source: file:///storage/emulated/0/Android/all.min.js (12)
 "THREE.WebGLRenderer: ANGLE_instanced_arrays extension not supported.", source: file:///storage/emulated/0/Android/all.min.js (12)
 "THREE.WebGLRenderer: OES_element_index_uint extension not supported.", source: file:///storage/emulated/0/Android/all.min.js (12)
 "THREE.WebGLRenderer:", source: file:///storage/emulated/0/Android/all.min.js (12)
"XMLHttpRequest cannot load file:///storage/emulated/0/Android/res/sky.ctm.   Cross origin requests are only supported for protocol schemes:
  http, data, chrome, https.", source:   file:///storage/emulated/0/Android/index.html (0)
 "Uncaught TypeError: Cannot read property 'Symbol(Symbol.iterator)' of    null", source: file:///storage/emulated/0/Android/all.min.js (16)

Any one can suggest me what i have to do? 任何人都可以建议我该怎么做?

try turning on the following settings: 尝试打开以下设置:

settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM