2012-10-08 2 views
5

도와주세요. 저는 webview로 작업하고 있습니다. 그리고 나는 두 가지 문제를 겪었습니다.WebView : WebViewClient.onPageStarted 메서드가 호출되지 않았습니다.

  1. webview loading new page. onPageStarted 메서드는 호출되지 않지만 onPageFinished 메서드가 호출됩니다.
  2. 메서드 : mWebView.canGoBack()은 항상 false를 반환합니다.

이유를 알고 있거나 제안 할 것이 있으면 알려주세요. 참고 : 저는 서버 측 (웹 사이드)에서 Jquery Mobile을 사용하고 있습니다.

이들은 내 Webview 클라이언트 및 Webview 초기화 소스 코드입니다.

private class MyWebViewClient extends WebViewClient{ 

    private static final String TAG = "MyWebViewClient"; 


    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     Log.v(TAG, "onPageFinished url: " + url); 

    } 

    @Override 
    public void onLoadResource(WebView view, String url){ 
     Log.v(TAG, "onLoadResource url: " + url); 
    } 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 
     Log.v(TAG, "onPageStarted url: " + url); 

    } 

    @Override 
    public void onReceivedError(WebView view, int errorCode, 
      String description, String failingUrl) { 
     super.onReceivedError(view, errorCode, description, failingUrl); 
     Log.v(TAG, "onReceivedError url: " + failingUrl); 

    } 


    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     Log.v(TAG, "shouldOverrideUrlLoading : " + url); 

     return false; 
    } 

} 

이 내 웹보기 초기화입니다 :

  mWebView = new WebView(getActivity()); 
     mWebView.setWebViewClient(new MyWebViewClient()); 
     WebSettings webSettings = mWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 

     String link = getArguments().getString(PARAMETER_LINK); 
     boolean deleteWVData = getArguments().getBoolean(PARAMETER_DELETE_DATA); 
     if(deleteWVData) 
      mWebView.clearCache(true); 

답변

1

나는 새로운 페이지가로드 될 때 onPageStarted 만이라고 생각합니다. 예 : index.html에 있으며 contact.html로 이동합니다.

대부분의 모바일 프레임 워크 (예 : jquery mobile, ionic, angualar)는 index.html 페이지에 머물러 있으며 콘텐츠 만 수정합니다. 따라서 onPageStarted 호출하지만 onPageFinished되어 있지 않으며

0

웹보기로 동일한 것으로 간주되며,이 경우, wont'be가

+0

현재의 문제를 해결에 어떻게 대답 도움이 영업 이익에 대한 답을 몇 가지 설명을 추가 동안

나는이 문제를 직면 –

+0

새 페이지를로드 할 때 webview에서만 onPageStarted를 호출합니다. –

-1

라고 onPageStarted index.html을 # 1 XXXXXXX index.html을 # 1 AAAAAA webview를 업데이트하고 확인하십시오. 웹보기의 현재 버전 60.0.3112.107 때 휴대폰 버전이 57.x.xxxx.xxx

관련 문제