Webview在尝试使用折线图报告数据加载时显示错误消息:SYNTAX_ERR:Dom Exception 12

时间:2015-02-23 10:21:24

标签: android android-webview android-4.0-ice-cream-sandwich linechart

我已经实施了谷歌图表来生成折线图报告。它在上面的ICS设备中工作正常。但是在ICS网页视图中加载的是错误消息,而不是预期的折线图报告。

在什么情况下,网页视图可以在网页上显示此错误 错误消息是: SYNTAX_ERR:Dom异常12

我怎么能解决这个错误?

ICS中的异常上升就像

03-30 10:02:36.490:W / webcore(6343):java.lang.Throwable:在设置WebViewCore之前不支持EventHub.removeMessages(int what = 107)。 03-30 10:02:36.490:W / webcore(6343):在android.webkit.WebViewCore $ EventHub.removeMessages(WebViewCore.java:2453) 03-30 10:02:36.490:W / webcore(6343):在android.webkit.WebViewCore $ EventHub.access $ 12400(WebViewCore.java:1197) 03-30 10:02:36.490:W / webcore(6343):在android.webkit.WebViewCore.removeMessages(WebViewCore.java:2565) 03-30 10:02:36.490:W / webcore(6343):在android.webkit.WebView.sendOurVisibleRect(WebView.java:3429) 03-30 10:02:36.490:W / webcore(6343):在android.webkit.ZoomManager.setZoomScale(ZoomManager.java:960) 03-30 10:02:36.490:W / webcore(6343):在android.webkit.ZoomManager.access $ 2200(ZoomManager.java:57) 03-30 10:02:36.490:W / webcore(6343):在android.webkit.ZoomManager $ PostScale.run(ZoomManager.java:1448) 03-30 10:02:36.490:W / webcore(6343):在android.os.Handler.handleCallback(Handler.java:605) 03-30 10:02:36.490:W / webcore(6343):在android.os.Handler.dispatchMessage(Handler.java:92) 03-30 10:02:36.490:W / webcore(6343):在android.os.Looper.loop(Looper.java:137) 03-30 10:02:36.490:W / webcore(6343):在android.app.ActivityThread.main(ActivityThread.java:4507) 03-30 10:02:36.490:W / webcore(6343):at java.lang.reflect.Method.invokeNative(Native Method) 03-30 10:02:36.490:W / webcore(6343):at java.lang.reflect.Method.invoke(Method.java:511) 03-30 10:02:36.490:W / webcore(6343):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:790) 03-30 10:02:36.490:W / webcore(6343):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 03-30 10:02:36.490:W / webcore(6343):at dalvik.system.NativeStart.main(Native Method)

请帮我找出解决方案。

编辑:示例HTML:

google.load(" visual"," 1",{packages:[" corechart"]}); google.setOnLoadCallback(drawChart) ; function drawChart(){var data = google.visualization.arrayToDataTable([[' Intervel',' Weekly'],[' 01/23/2015 - 01/24 /2015',0.0],[' 01/25/2015 - 01/31/2015',0.0],[' 02/01/2015 - 02/07 / 2015&#39 ;,0.0],[' 02/08/2015 - 02/14/2015',0.0],[' 02/15/2015 - 02/21/2015',0.0] ,[' 02/22/2015 - 02/24/2015',0.0]]); var options = {' legend':' top',&# 39; pointSize':10,' lineWidth':3,series:{0:{color:'#7B9008'}},backgroundColor:' transparent' ,vAxis:{textStyle:{fontSize:' 18'},textColor:'#8B8585',gridlines:{color:'#CACACA'},baselineColor:& #39;#CACACA'},hAxis:{textStyle:{fontSize:' 18'},textColor:'#8B8585',网格线:{color:'# CACACA'},baselineColor:'#CACACA'}}; var chart = new goo gle.visualization.LineChart(document.getElementById(' chart_div')); chart.draw(data,options);}

1 个答案:

答案 0 :(得分:3)

问题是我使用了webView.loadDataWithBaseURL(null,data," text / html"," UTF-8",null)来加载HTML内容。我用webView.loadData替换它(数据," text / html"," UTF-8")。

loadDataWithBaseURL():使用baseUrl作为内容的基本URL,将给定数据加载到此WebView中

此处代替基本网址我指定了null。但我不明白为什么它在除ICS之外的其他Android版本中有效。

loadData():使用'数据'将给定数据加载到此WebView中。方案网址。

在我的情况下,我应该使用loadData()。