1
我有一個名爲downloadapp
的div,我想顯示給訪問我的移動網站,而不是使用我的Android應用程序的用戶。所以我需要爲已經使用我的應用的用戶隱藏該div。隱藏在Android WebView應用程序與Java的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';");
}
});
webView.loadUrl(url);
}
問題:
我的應用程序加載DIV第一,其實際顯示爲幾秒鐘。然後,突然,應用程序中加載的整個網頁消失,並且屏幕上留下了一個空白頁,其中包含單詞「none」。
我試圖隱藏div「downloadapp」的方式有什麼問題嗎?或者我在這裏丟失了什麼?
我希望它做的是立即隱藏div顯示網頁之前。
謝謝,這是有效的。不過,我仍然遇到了div顯示幾秒的問題(直到頁面被加載)。任何想法我怎麼能立即隱藏它? – Stan
一種可能的方法是在應用的用戶代理字符串中添加一些標識字符串,例如像這樣:'webView.getSettings()。setUserAgentString(webView.getSettings()。getUserAgentString()+'; myapp')',然後在你的頁面代碼中隱藏div:'if(navigator.userAgent.endsWith('myapp '))document.getElementById('downloadapp')。style.display ='none'' –
我在我的應用程序中添加了這個:'webView.getSettings()。setUserAgentString(webView.getSettings()。getUserAgentString()+「; myapp 「);' 而這在我的網頁的標題: '' 但它不起作用。任何想法可能是錯的? – Stan