jsWaffle質問掲示板(雑談やTips歓迎)

jsWaffleについて質問する掲示板です。(雑談や発見したTipsの投稿も大歓迎です!)
[一覧へ] > (@69) [普通] [返信]
@69■ (#229) WebViewの二重遷移 - SGT (2011-10-28 16:22) /緊急 質問
【質問事項】どのような問題ですか?

WebViewでページ遷移する際に、loadUrlが二回発生しているような挙動がありました。

【再現方法】サンプルソース、再現手順など

以下のように「view.loadUrl(url);」をコメントアウトして実行してみたところ、それでもWebView内で画面遷移しました。


  class jsWaffleWebViewClient extends WebViewClient {
    private Context appContext = null;
    public jsWaffleWebViewClient(Context con) {
      super();
      appContext = con;
    }
    
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
      // HTTP or HTTPS
      if (url.startsWith("http://") || url.startsWith("https://")) {

        /*------------------------------------------------------------------
          2011/10/25
          When user click link (<a>), the event come to here,
          And set view.loadUrl( xxx ).
          
          However, when the buy one item, event appear twice.
          I try to kill this loadUrl, But Can go to next page !!!!
          Where the process set `loadUrl` ?
        ------------------------------------------------------------------*/
    //    view.loadUrl(url);
        return false;
      }

      boolean b = IntentHelper.run(appContext, url);
        if (!b) {
          log("loadUrl=" + url);
          view.loadUrl(url); // browse url in waffle browser
          return false;
        }

        return true;
    }
    
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
      pluginManager.onPageStarted(url);
    }
    
    @Override
    public void onPageFinished(WebView view, String url) {
      pluginManager.onPageFinished(url);
    }
    
    
  }


【調べた事】ここまで調べてみました

WebView内で<a>がタップされたときに、
loadUri がどこで呼ばれてるのかを調べてみましたが、
上記以外の部分のどこで呼ばれてるかが不明でした。


【jsWaffleバージョン】確認したjsWaffleバージョン

1.180

【Androidのバージョン】確認したAndroidバージョン

> Android OS 2.3

【機種名】

Galaxy S2

【その他】

(#239) 調査してみます - クジラ飛行机 (2011-11-22 09:22) /普通 返信
貴重なレポートありがとうございます。
調査してみますので、よろしくお願いします。

(#229)へ返信する:

名前
タイトル
本文
困った度
状態
確認キー お手数ですが、いたずら防止のために、半角数字で「8932」と入力してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能