我想显示页面的一部分:将由用户填写的网络表单。 该网络表单位于此标记内:
在Java中,我试图通过类名获取表单(因为只有一个类名“form”的标签)。然后我尝试用“表单”内容更改内容(也许我做错了)。然后尝试在 webview 中显示内容(仅形式)。
final WebView webview = (WebView) view.findViewById(R.id.wvCheckInn);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
String javascript = "javascript: var form = document.getElementsByClassName('form');"
+ "var body = document.getElementsByTagName('body');"
+ "body.innerHTML = form.innerHTML;";
view.loadUrl(javascript);
}
});
webview.loadUrl("http://businessinfo.uz/service/inn");
结果:webview 显示整个页面,这对我来说不好。如何使用 Javascript 在 Webview 中显示页面的一部分?
最佳答案
在 JavaScript 中,document.getElementsByClassName() 和 document.getElementsByTagName() 都返回 DOM 元素数组(请注意“By”之前的 's。)这与 getElementById() 不同,后者直接返回元素,后者这是有道理的,因为 ID 在有效的 HTML 文档中是唯一的,但标签和类却不是。
访问每个数组中的第一个元素并且 JavaScript 可以工作:
body[0].innerHTML = form[0].innerHTML;
关于javascript - 安卓。网页 View 。使用 Javascript 显示页面的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949967/