0

ユーザーが生成した HTML をwebviewusingで表示しようとしている状況がありますloadData。私のコードは次のようなものです:

String content = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
    "<html><head>" +
    "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />" +
    "</head><body>";
content += htmlStr + "</body></html>";
wv.loadData(content, "text/html", "UTF-8");

ほとんどの場合、うまく機能しますが、特定の種類の画像を表示するのに問題があります。私のテストのほとんどで、<img src="..."/>タグの挿入は問題なく機能しましたが、Photobucket の画像へのリンクがまったく表示されないことがわかりました。画像の代わりに疑問符の付いた小さなボックスが表示されます。

Photobucket の画像へのリンクをクリックすると、生の画像自体ではなく、その画像が Web サイトで表示できるページに移動する傾向があります。この問題はこれに関連していると感じています。「Referer」の問題か、おそらくユーザーエージェントか、またはその性質のものである可能性があると思いますが、私の人生ではこれを適切に表示することはできません。

(これがリファラーURLとして使用されると思われるため)に切り替えてloadDataWithBaseURL提供しようとしましたが、違いはありませんでした。代わりに をBaseURL使用して、Referer ヘッダーを手動で設定して提供しようとしましたが、どちらも機能しませんでした。実際、に切り替えると、すぐにデバイスのブラウザーにリダイレクトされ、Photobucket ページが読み込まれました。customと overrideを提供しようとしましたが、最善の方法は、.loadUrl("http://photobucket..."HashMaploadUrlWebViewClientshouldOverrideUrlLoadingWebView

これは Photobucket に固有の問題ではなく、たまたまテスト中にこの問題を発見したサイトであると確信しています。

これが正しく機能するように、この状況に対処する方法を考えたいと思いますが、SOまたはインターネット全体で役立つ方向性をまだ見つけることができません. 誰にもアイデアはありますか?

4

1 に答える 1

0

さらにテストする前に、Photobucket が最近の更新を完了するまで待ちます...Photobucket に固有の問題ではないことは確かだとおっしゃっていましたが、インターネットには、Android ベースのデバイスで画像にリンクされた Photobucket を表示できないポスターがあふれています。コードがフォトバケットでホストされていない他のすべての画像で動作する場合、コードは適切です。

于 2013-03-03T02:06:04.787 に答える