2011-12-24 9 views
1

WebViewに基本的なHTML読み込みがあります。トップにリストが表示され、別のセクションにジャンプしてから「トップに戻る」各セクション私が気づいたのは、リンクの1つをクリックすると正しく動作するということです。 同じリンクにスクロールしてもう一度クリックすると、何も起こりません。Android WebViewとブラウザは、ローカル(ハッシュ)リンクの2回目の押下を無視します

私の推測では、あなたはすでにこのページにいると思うので、無視されます。これは「実際の」リンクでは問題ありませんが、このページから離れることなくナビゲートします。現在のページに誘導する「力」にあり、いかなる方法リンク上のリフレッシュ

ここでは一例です:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <body id="pagetop"name="pagetop"> 

     <ul> 
     <li> 
      <p><a href="#one">One</a></p> 
     </li> 
     <li> 
      <p><a href="#two">Two</a></p> 
     </li> 
     <li> 
      <p><a href="#three">Three</a></p> 
     </li> 
     </ul> 
     <div name="one" id="one"> 
      <p><a href="#pagetop">Back to top</a></p> 
      <p>1 Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah </p> 
     </div> 
     <div name="two" id="two"> 
      <p><a href="#pagetop">Back to top</a></p> 
      <p>2 Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah </p> 
     </div> 
     <div name="three" id="three"> 
      <p><a href="#pagetop">Back to top</a></p> 
      <p>3 Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
      Blah Blah Blah Blah Blah Blah Blah Blah </p> 
     </div> 
    </body> 
</html> 
+0

あなたと同じ問題がありますか、jQueryモバイルを使いましたか? – xDragonZ

+0

いいえ、これはまっすぐなAndroidです。いくつかのJSを追加しようとするかもしれないので、現在のURLがクリックされたリンクにマッチしてから最新のものにリンクするかどうかをクリックするが、これは修正よりも回避策のようだ。 – crobicha

+0

いくつかのテストの後、それはwebviewだけではないようですが、この現象はNexus OneのAndroidブラウザ、HTC IncredibleのDolphinブラウザで発生しますが、Samsung Galaxy Tabの組み込みブラウザでは発生しません。 – crobicha

答えて

0

あなたが何とかボタンにタグを追加してWebViewClientをオーバーライドしてみてください。あなたが私にもう少し情報を与えるならば、より具体的な答えをタイプすることができます:)

+0

わかりませんまさにあなたが意味すること。私は両方のmWebView.setWebViewClient(新しいWebViewClient())を使用してテストしました。また、shouldOverrideUrlLoadingがオーバーロードされたWebViewClientのサブクラスがハッシュリンクに対してshouldOverrideUrlLoadingが呼び出されていないようです。 これはAndroidのバグです(http://code.google.com/p/android/issues/detail?id=2887)。 – crobicha

関連する問題