Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过webview仅显示网页的一部分_Android - Fatal编程技术网

Android 通过webview仅显示网页的一部分

Android 通过webview仅显示网页的一部分,android,Android,我正在构建我的第一个应用程序,它需要一个活动来显示webview中的网页部分。该网页包含许多添加内容和其他我不想让我的应用程序显示的无关内容 例如,我以youtube为例,试图不显示身体。我检查了youtube页面,发现页面容器作为页面中心主体部分的id public class ResultsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {

我正在构建我的第一个应用程序,它需要一个活动来显示webview中的网页部分。该网页包含许多添加内容和其他我不想让我的应用程序显示的无关内容

例如,我以youtube为例,试图不显示身体。我检查了youtube页面,发现页面容器作为页面中心主体部分的id

public class ResultsActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_results);
    final WebView webview = (WebView)findViewById(R.id.results_webview);
    webview.getSettings().setDomStorageEnabled(true);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url)
             {
            webview.loadUrl("javascript:function() { " +
                    "document.getElementById('page-container')[0].style.display='none'; " +
                    "})()");
             }
         });
    webview.loadUrl("https://www.youtube.com");
}

但是onPageFinished函数中的javascript代码不起作用。整个youtube页面将在应用程序中打开。

我想你必须通过检查网页手动检查id。一旦你得到了,你可以使用这个类似的线程中提到的

Document doc = Jsoup.connect(URL).get();
Elements elementsHtml = doc.getElementById(id);
for(Element element: elementsHtml)
{
   Log.i("ELEMENTI",URLDecoder.decode(element.text(), HTTP.UTF_8));
}