【问题标题】:UIWebView doesn't treat html properlyUIWebView 没有正确处理 html
【发布时间】:2012-12-16 01:53:17
【问题描述】:

我将以下字符串发送到UIWebView:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<img src="mysrc"></img>
</html>

但是,当我阅读它时:

[templateWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"]

结果是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<img src="mysrc">
</html>

&lt;/img&gt; 没有结束标签

我怎样才能让UIWebView不改变HTML标签?

【问题讨论】:

  • 我不完全理解您的问题 - 我认为您没有发布您发送的原始字符串。
  • 我认为这是不可能的,即使使用私有方法也是如此。 WebKit 丢弃了“多余的”结束标签并且永远不会让它们回来。
  • 您是在“结果”中复制/粘贴了准确的值,还是只是手动删除了结束标签以匹配您在调试器中看到的内容?换句话说,你确定第三行是&lt;img src="mysrc"&gt;,而不是&lt;img src="mysrc"/&gt;(带斜线)?

标签: objective-c uiwebview


【解决方案1】:

IMG 是自闭标签,所以应该是:

<img src="mysrc" />

为了完全符合标准,它还应该定义 ALT 属性:

<img src="mysrc" alt="something" />

这可能是解析错误的原因。

【讨论】:

  • 在 HTML img 中不需要关闭
  • 它不需要用结束标记 显式关闭,但它确实需要以 /> 结尾,正如我所描述的。 w3.org/TR/xhtml-media-types/#C_2
猜你喜欢
  • 2014-02-06
  • 2018-05-28
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
  • 2019-04-23
  • 2019-04-13
  • 1970-01-01
  • 2019-09-06
相关资源
最近更新 更多