繁体   English   中英

从Internet访问时JavaScript工作正常,但从WebView Android上的文件夹资产访问页面时无响应

[英]JavaScript Working When Access From Internet But Not Responding When Access Page From Folder Assets On WebView Android

我尝试使用android webview访问此页面URL: DEMO FACE TRACKER 我使用以下代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    wv = (WebView) findViewById(R.id.webView);
    wv.setWebChromeClient(new WebChromeClient());
    wv.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }
    });
    wv.getSettings().setJavaScriptEnabled(true);
    wv.addJavascriptInterface(new WebAppInterface(this), "Android");
    wv.loadUrl("http://auduno.github.io/clmtrackr/clm_image.html");
}

和它的作品!

但是,当我将所有页面(包括javascript)复制到本地,并从资产文件夹访问它时,应用返回“无响应”。

这是我用来访问本地资产的代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    wv = (WebView) findViewById(R.id.webView);
    wv.setWebChromeClient(new WebChromeClient());
    wv.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }
    });
    wv.getSettings().setJavaScriptEnabled(true);
    wv.addJavascriptInterface(new WebAppInterface(this), "Android");
    wv.loadUrl("file:///android_asset/index.html");
}

有关信息,媒体以外的所有资产(脚本,css等)已合并为一个页面,当我从浏览器(在计算机上)访问时,它的工作正常,但在android webview中却没有。

在android上是否对此具有特殊权限? 请帮助:)谢谢。

您最有可能遇到路径问题。 它可能没有从您认为的位置加载。 尝试添加以查看

        @Override
        public void onLoadResource(WebView view, String resUrl) {
            super.onLoadResource(view, resUrl);
            Log.d(LOG_TAG,"Loading " + resUrl);
        }

从文件加载时,添加setAllowUniversalAccessFromFileURLs以解决javascript安全问题。

wv.getSettings().setAllowUniversalAccessFromFileURLs(true);

暂无
暂无

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

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