利用WebView调用js的alert方法一直无效的解决办法
webView.loadUrl("javascript:alert('hello')")

利用 webview调用js需要注意一下四点

1) WebSettings设置支持javascript

mWebView.getSettings().setJavaScriptEnabled(true);

2) 在运行脚本前,要有document对象,至少得load一个空白页

webView.loadData(“”,"text/html","UTF-8");

3)如果还是不行的话,就应该是因为第一个还没执行完呢

webView.loadData(“”,"text/html","UTF-8");

webView.loadUrl("javascript:alert('hello')");

解决这个问题有三个办法  1)从界面按钮调用 2)延时调用 3)在onPageFinished中调用

mWebView.setWebViewClient(new MyWebViewClient());

private class MyWebViewClient extends WebViewClient {

@Override

public void onPageFinished(WebView webView, String url) {

webView.loadUrl("javascript:"+script);

}

}

4)console/alert

以上三点完成后,js就已经可以执行了,可是为什么console.log和alert没有效果呢?

因为这2个要额外实现

mWebView.setWebChromeClient(new MyWebChromeClient());

private class MyWebChromeClient extends WebChromeClient {

@Override

public boolean onConsoleMessage(ConsoleMessage cm) {

Log.d("test", cm.message() + " -- From line " + cm.lineNumber() + " of " + cm.sourceId() );

return true;

}

@Override

public boolean onJsAlert(WebView view, String url, String message, JsResult result) {

Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();

return true;

}

}


更多相关文章

  1. android 按钮 的状态
  2. Android 关闭虚拟按钮、底部导航条
  3. Android圆角按钮的制作方法
  4. 用 Python脚本生成 Android SALT 盐值
  5. Android中的Button自定义点击效果之改变点击时按钮的颜色
  6. Android自定义控件——仿ios开关按钮

随机推荐

  1. android view相对于根布局的坐标获取
  2. Android(安卓)ndk开发之在c文件里打印log
  3. android仿安卓微信、云播雷达扫描动画效
  4. removeAllViews()和removeAllViewsInLayo
  5. Android学习札记48:将TextView中的指定文
  6. android 打开软键盘 关闭软键盘
  7. Android腾讯微博客户端开发四:微博发送篇
  8. Android(安卓)自动换行流式布局的RadioGr
  9. android典型代码系列(十)------获取一个
  10. Android中常用的函数