【问题标题】:Android Change src img in webviewAndroid 在 webview 中更改 src img
【发布时间】:2014-03-25 10:31:21
【问题描述】:

我有一个网络视图,我在其中从网络服务加载内容(新闻)。

唯一的问题是,我在这个内容中的图片有这样的 src:

<img src='images/myimage.png'> 

当然,在我的 webview 中我不能显示这张图片。

那么,我怎样才能更新我所有图像的 src 呢? (添加正确的 url 以显示它)

我正在像这样加载我的内容:

                String htmlNews = "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlContent;
            webview.loadDataWithBaseURL("file:///android_asset/", htmlNews, "text/html", "UTF-8", null);

【问题讨论】:

  • 这些图片是否位于 assets 文件夹中?尝试将图像放在与您的 html 文件相同的位置,而不是放在单独的文件夹中。
  • 大声笑不,图片在我的网站上。

标签: android image webview android-webview


【解决方案1】:

把你的图片放到assets目录eg: assets/img.png

然后加载你的html:

webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "utf-8", null);

参考你的 img 像:

<img src="img.png">

你也可以试试

String data = "<body>" + "<img src=\"large_image.png\"/></body>";

webView.loadDataWithBaseURL("file:///android_asset/",data , "text/html", "utf-8",null);

【讨论】:

    【解决方案2】:

    在 Webview 中加载 Html 文件并将您的图像放入资产文件夹并使用 Html 读取该图像文件。

    <html>
      <table>
        <tr>
          <td>
            <img src="abc.gif" width="50px" alt="Hello">
          </td>
        </tr>
      </table>
    </html>
    

    现在在 Webview 中加载该 Html 文件

    webview.loadUrl("file:///android_asset/abc.html"); 
    

    【讨论】:

      【解决方案3】:

      像这样解析你的 html 代码:

      String web = "<img src='images/myimage.png'>";
      String replace = "src='";
      String replaceWith = "src='http://example.com/";
      String webParsed = web.replace(replace, replaceWith);
      System.out.println(webParsed);
      

      http://example.com/ 应该是您要添加到 src 标记的前缀。

      【讨论】:

      • 谢谢回答,但我发现其他更简单的事情.. html 标签 :)
      【解决方案4】:

      我把@deveLost's comment 留在这里是为了引起更多关注。

      存在一个定义基本 URL 的&lt;base&gt; tag,您不必拦截任何以 / 开头或相对于路径的内容,HTML 客户端将自动处理

      val yourBaseUrl: String = ...
      val originalContent: String = ...
      val fixedContent = "<base href='$yourBaseUrl'>$originalContent"
      webView.loadData(fixedContent, "text/html", "UTF-8")
      

      【讨论】:

        猜你喜欢
        • 2016-04-17
        • 1970-01-01
        • 2013-05-23
        • 1970-01-01
        • 2018-09-15
        • 2012-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多