2014-02-07 49 views
0
mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.setWebViewClient(new WebViewClient(){ 
    public void onPageFinished(WebView view, String url) 
    { 
    mWebView.loadUrl("javascript:(function(){"+"document.getElementById('portable-banner-main_1').style.display ='none';"+"})()"); 
    } 
    }); 
    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    mWebView.setBackgroundColor(Color.parseColor("#FFFFFF")); 
    mWebView.addJavascriptInterface(new WebAppInterface(this), "Android"); 
    mWebView.loadUrl(URL); 

我用這個隱藏了一個元素。但是頁面有一個加載階段。所以我需要在onPageFinished 5秒後運行這個javascript函數。我怎樣才能做到這一點?android webview在一段時間後調用javascript函數

+0

你可以試着用thread.sleep(5000)... – Ranjit

回答

3

使用處理程序。

private static int MY_SLEEP = 5000; // wait 5 seconds. 

public void onPageFinished(WebView view, String url){ 
     final Handler handler=new Handler();   
     final Runnable r = new Runnable() 
     { 
      public void run() 
      { 
     mWebView.loadUrl("javascript:(function(){"+"document.getElementById('portable-banner-main_1').style.display ='none';"+"})()"); 
      } 
     }; 

     handler.postDelayed(r, MY_SLEEP); 

    } 
}); 
相關問題