猿问

Android WebView 无法正常显示网页图表

1、Android项目中,使用了一个WebView,加载的页面是一个使用百度echart和canvas写的统计图表,现在网页版和IOS版都能正常显示,Android无法正常显示:

2、ios和web端:

3、android 端:
https://img2.mukewang.com/5cb6ced70001531704500800.jpg

4、Android控制台错误信息:

03-31 10:14:34.549 E/webview: registerForStylusPenEvent onAttachedToWindow

03-31 10:14:34.549 E/webview: registerForStylusPenEvent START

03-31 10:14:34.549 E/webview: registerForStylusPenEvent END

.

.

.

E/Web Console: Uncaught TypeError: Object #<CanvasRenderingContext2D> has no method 'setLineDash':125

6、已google过,一年多的google经验,没找到答案以及Android 相关的内容,无奈,,只好求助sf的各路好友了,,谢谢啦


补充:

使用5.1系统测试正常,4.4显示不正常:(以下是5.1系统显示情况)

https://img2.mukewang.com/5cb6cee800016c2004500800.jpg

代码:

        WebSettings webSettings = webView.getSettings();

        webSettings.setJavaScriptEnabled(true);

        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

        webView.loadUrl("http://ast.buoyantec.com/rooms/pue?user=" + phone + "&room=" + room_id);

        

        webView.setWebChromeClient(new WebChromeClient() {

            @Override

            public void onProgressChanged(WebView view, int newProgress) {

                // TODO Auto-generated method stub

                if (newProgress == 100) {

                    // 网页加载完成

                    progressBar.setVisibility(View.GONE);

                } else {

                    // 加载中

                    if (View.GONE == progressBar.getVisibility()) {

                        progressBar.setVisibility(View.VISIBLE);

                    }

                    progressBar.setProgress(newProgress);

                }

                super.onProgressChanged(view, newProgress);

            }

        });


忽然笑
浏览 1601回答 3
3回答

湖上湖

webview使用下chromeclient 看是否能显示,另外可以尝试利用chrome浏览器的手机调试模式测试下看是否能正常显示

波斯汪

错误信息不是有吗Object #<CanvasRenderingContext2D> has no method 'setLineDash':125

翻过高山走不出你

今天遇到同样的问题了,请问题主最后怎么解决的?谢谢!
随时随地看视频慕课网APP

相关分类

Java
我要回答