1
r00tt 2017-11-28 17:49:07 +08:00
方法比较多,说几个可行的吧
1. java 与 js 互相调用,通过 java 塞入数据 2. 直接在 Html 里面插入占位符,比如用户名的地方插入__user_name__ (只是举个例子),然后直接用真实数据来 replace |
2
janus77 2017-11-28 18:55:38 +08:00
如果 html 是静态的 有模板的,那很好办啊,直接生成填好内容的 html 字符串,再转到 webview 上面显示并打印
|
3
chenyu8674 2017-11-29 09:18:14 +08:00
/**
* Android 端调用 WebView 中的 js 方法 * * @param function 方法名称 * @param params 参数数组 */ public static void letJavaScriptDo(final String function, final String... params) { String[] jsParams = new String[params.length + 1]; jsParams[0] = function; for (int i = 1; i < jsParams.length; i++) { jsParams[i] = params[i - 1]; } Message msg = new Message(); msg.obj = jsParams; runJsHandler.sendMessage(msg); } private static Handler runJsHandler = new Handler() { public void handleMessage(Message msg) { String[] jsParams = (String[]) msg.obj; String function = jsParams[0]; String jsUrl = "javascript:" + function + "("; for (int i = 1; i < jsParams.length; i++) { if (i != 1) { jsUrl += ","; } jsUrl += "'" + jsParams[i].replace("'", "\\\'") + "'"; } jsUrl += ");"; if (mWebView != null) { mWebView.loadUrl(jsUrl); } } }; 暂时没发现问题,欢迎指教 |