0

我有一种情况,我试图在webviewusing中显示用户生成的 HTML 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 上图像的链接往往会将您带到可以在其网站上查看该图像的页面,而不仅仅是原始图像本身。我感觉这个问题与此有关。我怀疑这可能是一个“推荐人”问题,或者可能是用户代理,或者类似的东西,但我一辈子都无法让它正确显示。

我曾尝试切换到loadDataWithBaseURL并提供一个BaseURL(因为我相信这将用作引荐网址),但这没有任何区别。我也尝试过使用loadUrl("http://photobucket..."并提供HashMap手动设置的Referer标头,但这也不起作用。实际上,切换到loadUrl使其立​​即重定向到设备的浏览器以加载 Photobucket 页面。我试图提供一个自定义WebViewClient和覆盖shouldOverrideUrlLoading,但最好的办法是在WebView.

我确信这不是 Photobucket 的特定问题,它恰好是我在测试时发现此问题的站点。

我真的很想想办法处理这种情况,以便它可以正常工作,但我一直无法在 SO 或整个互联网上找到任何有用的方向。有没有人有任何想法?

4

1 回答 1

0

我会等到 Photobucket 完成他们最近的更新,然后再进行进一步测试......虽然你说你确定这不是 Photobucket 的特定问题,但互联网现在充斥着无法查看与基于 android 设备的图像链接的 Photobucket 的海报。如果您的代码适用于所有其他未托管在 photobucket 上的图像,那么您的代码就很好。

于 2013-03-03T02:06:04.787 回答