[英]Load part of web page in android webview
我想將部分網頁加載到我的webview中。 我使用javascript隱藏了一些div類,但問題是首先它完全加載了頁面,然后隱藏了div類,我想知道是否有辦法在webview內加載網頁的特定部分,或者有沒有一種方法可以先加載運行javascript,然后加載網頁。 這是我用來隱藏div類的代碼:
public class main extends AppCompatActivity {
String url = "the web page url";
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
new load_web.execute();
}
private class load_web extends AsyncTask < Void, Void, Void > {
@Override
protected void onPostExecute(Void aVoid) {
webView = (WebView) findViewById(R.id.samsung_webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
webView.loadUrl("javascript:(function() { " + "document.getElementsByClassName('header-container')[0].style.display='none'; " + "})()");
}
});
webView.loadUrl(url);
}
@Override
protected Void doInBackground(Void...voids) {
return null;
}
}
}
最后,經過一番努力,我找到了解決方案。 我應該在onLoadResource中設置javascript代碼,而不是在公共無效的onPageFinished中設置。 正確的代碼是:
私有類load_web擴展了AsyncTask {
@Override
protected void onPostExecute(Void aVoid) {
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
webView.loadUrl("javascript:(function() { " + "document.getElementsByClassName('header-container')[0].style.display='none'; " + "})()");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.