使用WebView的loadUrl(url),网页中的Javascript运行正常。但是获取url的html内容后,使用loadData或者loadDataWithBaseURL之后,Javascript就不起作用了!
经查 这个问题 应该跟使用参数有关系
如下:
Android的WebView组件使用非常简单,可以使用loadUrl()加载一个Url地址,也可以使用loadData()或 loadDataWithBaseURL()加载一段HTML代码片段。loadUrl()的使用大家应该都没有什么问题,但是loadData()和 loadDataWithBaseURL()在使用上的差异可能有些人还不太清楚。
首先,从方法的定义来看:
public void loadData (String data, String mimeType, String encoding)
public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl)
loadDataWithBaseURL()比loadData()多两个参数,可以指定HTML代码片段中相关资源的相对根路径,也可以指定历史Url。两个方法的其余三个参数相同。
‘
也就是 在使用loadDataWithBaseURL 时候 是要将加载的js的路径给String baseUrl 这样 在加载的时候 才找的到js
也就是 loadDataWithBaseURL 中的 baseUrl 不为空 并且可以找到js
loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl)
经测试 可以搞定