簡體   English   中英

立即在Android WebView中隱藏div,而不是在加載網頁后隱藏

[英]Immediately hide div in Android WebView instead of after loading webpage

我有一個名為downloadapp的div,我想向訪問我的移動網站而不是使用我的Android應用程序的用戶顯示。 因此,我需要為已經使用我的應用程序的用戶隱藏該div。

我的代碼:

private void startWebView(String url) {
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {      

    //On error, open local file
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
    webView.loadUrl("file:///android_asset/www/myerrorpage.html");
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {              
        view.loadUrl(url);
    return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        view.loadUrl("javascript:document.getElementById('downloadapp').style.display = 'none'; void(0);");
    }   

});

webView.loadUrl(url);

}

問題:

使用上面的代碼,div downloadapp將顯示幾秒鍾( 直到整個頁面加載完成 )。 在那一刻,它消失了。 我想要的是立即將其隱藏,以使使用我的應用的用戶永遠看不到該div。 我怎樣才能做到這一點?

編輯:

我試圖添加onPageStarted但這也不起作用。

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
view.loadUrl("javascript:document.getElementById('downloadapp').style.display = 'none'; void(0);");
} 

請嘗試以下代碼,希望對您有所幫助!!!

       @Override
        public void onPageFinished(WebView view, String url) {
            view.loadUrl("javascript:(function() { " +
                    "var h1 = document.getElementById('downloadapp').style.display='none'; " +
                    "})()");

        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            view    .loadUrl("javascript:(function() { " +
                    "var h1 = document.getElementById('downloadapp').style.display='none'; " +
                    "})()");

        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM