我想显示页面的一部分:将由用户填写的网络表单。 该Web表单位于此标记内:
在Java中,我试图按类名称获取表单(因为只有一个带有类名的标签" form")。然后我试图用" 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中显示部分页面?
答案 0 :(得分:2)
在你的javascript中,document.getElementsByClassName()和document.getElementsByTagName()都返回DOM元素的数组(注意" s" s""。)这是不同的来自getElementById(),它直接返回一个元素,这是有道理的,因为ID在有效的HTML文档中是唯一的,但标签和类不是。
从每个数组中访问第一个元素,javascript可以工作:
body[0].innerHTML = form[0].innerHTML;