2014-02-07 36 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); 

    } 
}); 
相关问题