从WebView Android移除元素

时间:2018-07-17 06:25:37

标签: javascript java android jsoup

我在android studio上使用java,我对代码有疑问,我用过 Java脚本代码删除页眉,页脚和其他元素,某些元素通过id,类名和标签显示,但问题是当我重新加载页面时,它将显示标题一秒钟,然后将其删除。我希望代码即使在重新加载时也删除标题。

WebView wv;

String url ="https://www.example.com/";


private SwipeRefreshLayout swipeRefreshLayout;
private WebView mWebView;
private CoordinatorLayout coordinatorLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);

    mWebView = (WebView) findViewById(R.id.activity_main_webview);
    swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swiperefresh);
    swipeRefreshLayout.setOnRefreshListener(MainActivity.this);
    coordinatorLayout = (CoordinatorLayout) findViewById(R.id.container);

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setAllowFileAccess(true);
    webSettings.setAppCacheEnabled(true);

    loadWebsite();


    mWebView.setWebViewClient(new WebViewClient() {

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Toast.makeText(getApplicationContext(), "فشل تحميل التطبيق", Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            swipeRefreshLayout.setRefreshing(true);

        }

        public void onPageFinished(WebView view, String url) {

            mWebView.loadUrl("javascript:if (typeof(document.getElementsByClassName('navbar navbar-inverse')[0]) != 'undefined' && document.getElementsByClassName('navbar navbar-inverse')[0] != null){document.getElementsByClassName('navbar navbar-inverse')[0].style.display = 'none';} void 0");

            swipeRefreshLayout.setRefreshing(false);


        }
    });


}

private void loadWebsite() {
    ConnectivityManager cm = (ConnectivityManager) getApplication().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) {

        mWebView.loadUrl(url);

    } else {
        Snackbar snackbar = Snackbar.make(coordinatorLayout, "تحقق من الاتصال بالانترنت", Snackbar.LENGTH_LONG);
        snackbar.show();
        swipeRefreshLayout.setRefreshing(false);
    }
}

0 个答案:

没有答案