在我的一个应用程序中,我正在获取 HTML 内容并添加 Javascript 图像并使用 loadURL() 加载内容。单击图像时,将调用注入(inject)的相应 javascript 函数。功能是“增大字体”、“减小字体”和“分享”。
字体大小的增加和减少是使用 Javascript 函数完成的 WebView.loadUrl("javascript:getElementById('标题')...等);
我最近将我的应用目标 api 更改为 19 (Android 4.4)。现在我注意到只要调用增加或减少字体大小,网页就会变成空白。但是 Share 继续正常工作。我已经按照 Android 4.4 的要求添加了 @JavaScriptInterface 注释。
(当目标为 16 时,整个设置工作正常)。请告知是否有人遇到过此问题。
最佳答案
在 Android 4.4 及更高版本上,您不能再在 loadUrl() WebView 方法中加载 javascript。现在有一个名为 evaluateJavascript(...)
的新方法,其用法如下:
String javascript = "INSERT JAVASCRIPT";
ValueCallback<String> resultCallback;
// ...initialize resultCallback here
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
mWebView.evaluateJavascript(javascript, resultCallback);
} else {
mWebView.loadUrl(javascript);
}
关于javascript - Android 4.4 上的 WebView - 使用 JavaScript 更改字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21224321/