我试图仅显示网站的一部分。我正在尝试隐藏幻灯片。由于某种原因,我的代码无法正常工作,但仍显示整个页面。我搜索了整个网络,但找不到适合我的答案。我仍然是初学者,如果我犯了一些愚蠢的错误,对不起:) 预先谢谢你!
package com.example.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.evaluateJavascript("document.getElementById('main-carousel2').style.display='none';", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
Log.e(TAG,value);
}
});
}
});
webview.loadUrl("http://www.eventster.it");
}
答案 0 :(得分:1)
这是您需要隐藏的部分:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
WebView webview;
final String URL = "http://www.eventster.it";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.evaluateJavascript("document.getElementById('main-carousel2').style.display='none';", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
Log.e(TAG,value);
}
});
}
});
webview.loadUrl(URL);
}
}
问题是您要让webview隐藏尚未加载的内容,即您需要等到webView完成加载整个页面后才能隐藏该内容。