2011-10-19 5 views
10

私はWebViewを介して、URLをロードすると、私は時々、このような多数のメッセージの洪水を受け取る:このエラーは何をERROR /ウェブコンソール:不明なエラー:アンロードハンドラに費やした多くの時間

10-19 19:18:38.056: ERROR/Web Console(6524): 
Uncaught Error: Too much time spent in unload handler. at v8/DateExtension:1 

を意味するのでしょうか?

+0

あなたはこの問題を解決しました –

答えて

4

これは、WebkitのDateExtension.cppで定義されているようです。これは、JSフック(enableSleepDetection(true)が設定されている場合はDate.getTimeに挿入される)が1000回以上呼び出された場合にスローされるC++例外です。

もっと見るには、Androidソースコードを取得することをおすすめします。ファイルに関するドキュメントはありません。

0

同じエラーが発生しました。いくつか調査した後、私はこの問題を解決しました。 はたぶん、このコードがお手伝いします:はい、その後私にソリューションを提供してください場合

 { 
      webView = (WebView) view.findViewById(R.id.transcationwebview); 
       progressdialog = ProgressDialog.show(mContext, "", 
         mContext.getString(R.string.please_wait)); 
       progressdialog.setCancelable(true); 
       progressdialog.setOnCancelListener(new OnCancelListener() { 

        @Override 
        public void onCancel(DialogInterface dialog) { 
         webView.stopLoading(); 
         // webView.clearView(); 

        } 
       }); 



       webView.setWebChromeClient(new MyChromeClient()); 
       webView.getSettings().setBuiltInZoomControls(true); 
       webView.getSettings().setLayoutAlgorithm(
         WebSettings.LayoutAlgorithm.NARROW_COLUMNS); 
       webView.getSettings().setUseWideViewPort(true); 
       webView.getSettings().setLoadWithOverviewMode(true); 
       webView.setWebViewClient(new WebViewClient() { 
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
         // TODO Auto-generated method stub 
         // view.loadUrl(url); 
         return false; 
        } 

        @Override 
        public void onPageFinished(WebView view, String url) { 
         // TODO Auto-generated method stub 
         super.onPageFinished(view, url); 
         if (progressdialog != null && progressdialog.isShowing()) { 
          progressdialog.dismiss(); 
         } 

        } 

        @Override 
        public void onPageStarted(WebView view, String url, Bitmap favicon) { 
         // TODO Auto-generated method stub 
         super.onPageStarted(view, url, favicon); 
        } 

        @Override 
        public void onReceivedError(WebView view, int errorCode, 
          String description, String failingUrl) { 
         // TODO Auto-generated method stub 



        } 
       }); 
       webView.getSettings().setLoadWithOverviewMode(true); 
       webView.getSettings().setPluginState(PluginState.ON); 
       webView.getSettings().setBuiltInZoomControls(true); 
       webView.getSettings().setPluginsEnabled(true); 
       webView.setKeepScreenOn(true); 
       webView.getSettings().setDomStorageEnabled(true); 
       webView.getSettings().setAppCacheEnabled(true); 
       webView.getSettings().setJavaScriptEnabled(true); 
       webView.loadUrl(url); 
} 
    public class MyChromeClient extends WebChromeClient { 
      @Override 
      public void onProgressChanged(WebView view, int newProgress) { 
       try { 

        if (progressdialog.isShowing()) { 
         progressdialog.setMessage(getString(R.string.loading) 
           + newProgress + " %"); 

        } else { 
         /* 
         * webView.stopLoading(); webView.clearView(); 
         */ 
        } 
       } catch (Throwable e) { 

        e.printStackTrace(); 
       } 
      } 
関連する問題