本站文章转载务必在明显处注明:原文链接 http://blog.youkuaiyun.com/cjsen/article/details/9496071
前言
最近在研究android上WebView的时候,我要的效果是在原有的html内容上继续添加新的内容。
实现
在ios上我们可以用
NSString *java = [NSString stringWithFormat:@"document.body.innerHTML += '%@'", html];
[webview stringByEvaluatingJavaScriptFromString:java];
这样就可以搞定了。。
我只想简单的执行一条js代码,并不要回调函数。
先设置webview可响应js
mywebview.getSettings().setJavaScriptEnabled(true);
同样在android也可以简单的一条代码
mywebview.loadUrl("javascript:document.body.innerHTML += '"+html+"'");
这里执行的格式是
mywebview.loadUrl("javascript:要执行的js");
mWebView.setWebChromeClient(new MyWebChromeClient());
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
mWebView.loadUrl("file:///android_asset/demo.html");
final class DemoJavaScriptInterface {
DemoJavaScriptInterface() {
}
/**
* This is not called on the UI thread. Post a runnable to invoke
* loadUrl on the UI thread.
*/
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:wave()");
}
});
}
}