我只想在我的Android WebView中显示某些网站的特定部分。 我在线上浏览了几乎所有可用的解决方案,但无法实现我想要的。
我使用了Jsoup和HTML Cleaner,它可以正确显示,但是页面的CSS和JavaScript丢失了。
试图通过WebViewClient在onPageFinished中使用JavaScript,但仍然没有。
例如,如果我显示https://gaana.com,那么我想显示其中的only this part of the page。
我在onPageFinshed中有以下代码无法正常工作,如果我在这里遗漏了任何小事,请告诉我。 `wb.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url)
{
webView.loadUrl("javascript:(function() { " +
"document.getElementById('Gaana-Home-Top_Ads').style.display='none'; " +
"document.getElementByClassName('breadcrum').style.display='none'; " +
"document.getElementByClassName('activeonscroll').style.display='none'; " +
"document.getElementByClassName('lastend-container').style.display='none'; "
+
"document.getElementByClassName('mobile_search').style.display='none'; " +
"document.getElementByClassName('mobile-playlist-option').style.display='none'; " +
"document.getElementByClassName('bodyloader').style.display='none'; " +
"document.getElementById('mp').style.display='none'; " +
"document.getElementByClassName('Gaana_ROS_ATF_728adunit').
style.display='none'; "
+
"document.getElementById('ads_645x60_pd_high').style.display='none'; " +
"document.getElementById('language-form').style.display='none'; " +
"})()");
}
});
webView.loadUrl(URL);` .
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
您尝试@media规则吗? (调整屏幕大小以查看示例)
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
background-color: yellow;
}
@media only screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
</style>
</head>
<body>
<h1>The @media Rule</h1>
<p>Resize the browser window. When the width of this document is 600 pixels or less, the background-color is "lightblue", otherwise it is "yellow".</p>
</body>
</html>
使用此规则,如果使用Webview进行的访问总是来自手机,则可以在智能手机上运行应用程序时获取它。
有关https://www.w3schools.com/cssref/css3_pr_mediaquery.asp的更多信息