我想知道是否可以在 WebView 中仅显示网站的某些部分。例如,我有一个带有以下 html 的网站:
<html>
<body>
<div id="1">ID 1</id>
<div id="2">ID 2</id>
<div id="3">ID 3</id>
</body>
</html>
是否可以只在WebView中显示,比如id="3"的div的内容? 我的代码是 WebWiew:
WebViewClient WebClient = new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
};
WebView myWebView = (WebView) findViewById(R.id.webView1);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.setWebViewClient(WebClient);
myWebView.loadUrl("https://www.example.com");
最佳答案
您可以通过扩展 WebViewClient 并注入(inject)一些将呈现您的网页的 javascript 来做到这一点
public class MyWebClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:your javascript");
}
}
.........
final MyWebClient myWebViewClient = new MyWebClient();
mWebView.setWebViewClient(myWebViewClient);
对于隐藏元素,请使用 view.loadUrl("javascript:document.getElementById(id).style.display = 'none';)
更多信息 In Android Webview, am I able to modify a webpage's DOM?
关于java - Android WebView : display only some part of website,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423981/