Android webview html合规性?

Android webview html合规性?,android,html,webview,Android,Html,Webview,我有一个webview,它显示我在运行时生成的一些HTML。这个html在chrome和IE中工作,但当我尝试将其加载到webview时,它告诉我“网页不可用”,我使用的是基本html元素: <body bgcolor="01517f"> <table> <font color="ffffff" size="4"> <p> <a href="http://www.

我有一个webview,它显示我在运行时生成的一些HTML。这个html在chrome和IE中工作,但当我尝试将其加载到webview时,它告诉我“网页不可用”,我使用的是基本html元素:

<body bgcolor="01517f">
    <table>
        <font color="ffffff" size="4">
            <p>
                <a href="http://www.gim.net/Customized/Uploads/Screenshot532011-33538-PM.jpg">
                    <img src="http://www.gim.net/Customized/Uploads/Screenshot532011-33538-PM.jpg" width="160" height="240" align="right">
                </a>
                Message body
            </p>
            <table width="95%" cellpadding="3" cellspacing="0" >
                <tr>
                    <td>
                        <b>
                            <font size="3" color="ffffff">
                                parent1
                            </font>
                        </b>
                    </td>
                    <td>
                        <p align="right">
                            <font size="2" color="ffffff">
                                This will be the date string
                            </font>
                        </p>
                    </td>
                </tr>
                <tr>
                    <td colspan ="2">
                        <p align="left">
                            <font size="3" color="ffffff">
                                Blah blah
                            </font>
                        </p>
                    </td>
                </tr>
            </table>
            <hr noshade size="1" />
        </font>
    </table>
</body>


消息体

父母1

这将是日期字符串

废话


出于某种原因,如果删除嵌套表,它似乎显示良好。我格式化HTML的方式是否存在一些非标准的问题,使其无法与android webview一起工作

编辑: 经过彻底的消除测试后,我发现有问题的错误来自第二个表的“width='95%”属性。如果我将其更改为设置的像素宽度(ex:width=“160px”),它将正常工作。我之所以需要这个宽度,是因为我不知道我的页面会有多大,因为我不知道我可能使用的屏幕有多大,所以我需要强迫该表中的元素位于图像下方,同时仍然占据页面的大部分宽度

我是应该计算屏幕大小,然后手动设置像素宽度,还是有更简单的方法在右边对齐的图像和下面的表格之间强制打断

  • font
    -标记已过时
  • 应设置颜色和文本大小 使用CSS
  • 如果要将文本对齐到 离开这里,你可以简单地做到这一点 在中使用
    文本对齐
    CSS
  • align
    -属性也不推荐使用。 使用CSS来实现这一点
  • img
    -标签应始终具有
    alt
    -属性,除非 布局的一部分
  • width
    height
    -属性都是 不推荐使用,请使用CSS来实现。 另外,不要使用没有任何数字的数字 单位。如果你想要140像素的 写入
    140px
    (除非您想要0, 这只是0,没有任何单位)
  • 我不确定这是不是因为这个 是一个被剪掉的网页,但却是一个HTML页面 以
    -标记开始,并具有 标签前的
    -标签
    -标记
  • HTML页面应始终具有 Doctype声明
  • 如果您不确定HTML是否有效,请转到


    还有,我不明白你用第一张桌子做什么。它什么也不做。它甚至没有TableRow或一些TableData。这是无效的,对任何事情都没有好处。停下来。

    问题在于,当您在Android webview上调用
    loadData
    时,它试图访问HTML数据。我注意到,当我收到错误时,它试图访问的“网址”基本上是作为URL的HTML代码,将非标准字符替换为http友好版本(例如,空格字符为20)。因此,我简单地用%sign(%25)的代码替换了我的“width='95%”中的%sign,现在它可以正常工作了。不需要CSS或类似的东西

    我有没有办法不用CSS解决这个问题?我觉得对于显示一些简单的格式化文本来说,这会使事情变得过于复杂。更不用说我不知道CSS的第一件事,也不知道我会如何在Androidals中使用它。因此,如果字体过时,这并不能解释为什么它在没有嵌套表的情况下工作,因为在开始时有一个字体标记1。如果你想格式化一些东西并坚持标准,你应该使用CSS。就这样。2.这并不意味着
    font
    -标记不再有效。但是常用的方法是使用CSS,一些较新的浏览器现在(或将来)可能会取消对该标签的支持。我不想创建整个页面,只想用HTML格式化一些文本和图像,如果androidCSS不支持,CSS不是有效的解决方案。安卓肯定支持CSS。Android浏览器是基于Webkit的,就像Chrome一样。您说过,当您取出第一个
    -标记时,它会工作。所以把它拿出来,它什么也没做。你漏掉了tbody标签,也不用字体。使用css设置样式