我有一个名为 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'; " +
"})()");
}
关于javascript - 立即在 Android WebView 中隐藏 div,而不是在加载网页后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30681218/