[英]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.