要在Android WebView中实现预加载,可以按照以下步骤操作:
- 创建 WebViewClient 类和
onPageFinished( )
方法。 该方法在页面加载后调用,因此您可以在这里执行一些预加载操作。
类 MyWebViewClient 扩展 WebViewClient {
@Override
公共 void onPageFinished(WebView 视图,字符串 URL) {
super.onPageFinished( view , url);
//此处进行预加载操作
}
}
- 在主 Activity 中,将 WebViewClient 设置为您刚刚创建的 MyWebViewClient 类。
WebView webView = findViewById(R.id.webview);
webView.setWebViewClient(new MyWebViewClient());
- JavaScript使用该接口执行预加载任务。 创建一个提供 JavaScript 方法来执行预加载的本地对象。
公共 类 MyJavaScriptInterface {
私有 TextView textView;
公共ic MyJavaScriptInterface(TextView textView) {
这个.textView = textView;
}
//该方法调用者: JavaScript
@JavascriptInterface
public void preLoadData(字符串数据) {
textView.setText(data);
}
}
- 这个本地对象添加到您的 WebView 以便您可以运行 JavaScript 代码。
TextView textView =findViewById(R.id.textView);
webView.addJavascriptInterface(新 MyJavaScriptInterface(textView) , "HTMLOUT");
- 在 MyWebViewClient 中类的
onPageFinished()
方法中,使用 WebView 的evaluateJavascript()
方法预加载 执行 JavaScript 代码。 。
@Override
public void onPageFinished (WebView 视图,字符串 URL) {
super.onPageFinished(view, url);
// 执行预加载的 JavaScript 代码
view.evaluateJavascript("(function() { " +
"var data = '预加载数据' ; " +
"window.HTMLOUT.preLoadData(data);" +
" }) ()", null);
}
这样,当网页加载时,WebView会自动运行预加载的JavaScript代码,并将结果显示在指定的TextView中。 此方法可用于预加载任何类型的数据,包括 HTML、CSS 和 JavaScript。
以上内容来源于互联网,不代表本站全部观点。 欢迎关注:zhujipindao.com
评论前必须登录!
注册