Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码。

但是当需要注入一整个js文件的时候,需要先将js文件拼接到html文件后,在webview的onPageFinished方法中执行js代码注入。

第一种方法:

URL url = new URL("http://www.rayray.ray/ray.js");in = url.openStream();byte buff[] = new byte[1024];ByteArrayOutputStream fromFile = new ByteArrayOutputStream();FileOutputStream out = null;do {       int numread = in.read(buff);       if (numread <= 0) {         break;         }        fromFile.write(buff, 0, numread);     } while (true);String wholeJS = fromFile.toString();

onPageFinished方法中执行

@Overridepublic void onPageFinished(WebView view, String url)  {        super.onPageFinished(view, url);         webview.loadUrl("javascript:" + wholeJS); }

第二种方法:

首先将js拼接到html里面,这里的js地址可以是网络的,也可以是本地的例如file:///android_asset/http://www.123.456/789.js ,或者网络的

String js = "var newscript = document.createElement(\"script\");";js += "newscript.src=\"http://www.123.456/789.js\";";js += "document.body.appendChild(newscript);";

onPageFinished方法中执行

@Override public void onPageFinished(WebView view, String url)   {       super.onPageFinished(view, url);        webview.loadUrl("javascript:" + js);  }



更多相关文章

  1. 总结Android中TabActivity 的使用方法
  2. Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短
  3. Android SDK编译 ——如何将自己源代码加入android.jar
  4. Android 资源文件夹下的文件不能有大写字符,会导致R.java无法生成
  5. Android 高级混淆和代码保护技术
  6. 子线程更新UI的方法
  7. Android真机测试 INSTALL_FAILED_INSUFFICIENT_STORAGE 解决方法
  8. Android Audio代码分析1 - AudioTrack使用示例

随机推荐

  1. Android(安卓)View 事件分发机制 源码解
  2. Android仿微信朋友圈图片浏览器(支持图片
  3. Android来电监听
  4. Android 更新提示的AlertDialog
  5. 解决android工程引用多个jar包导致的文件
  6. Android最新的各个分支版本号(2013-10-27
  7. android编译系统 build/core
  8. android popup
  9. 信息收发
  10. Android Canvas drawBitmap 的一个效率问