0

我在使用 IE 时遇到了问题(我正在 IE9 中进行测试,但我相信它在以前的版本中也会以相同的方式运行)。

我从 PHP 发送的响应如下:

{"success":true,"content":"<img src=\"\/media\/page\/1528484482.jpg\" width=\"140\" height=\"140\" alt=\"1528484482.jpg\" \/>"}

它在 Firefox、Chrome、Safari、Opera 等中运行良好 - 但在 IE 中无法运行。响应是一个空对象。

当我将响应更改为以下内容时,它可以正常工作 - 唯一的区别是关闭 img 标签之前的正斜杠:

{"success":true,"content":"<img src=\"\/media\/page\/1528484482.jpg\" width=\"140\" height=\"140\" alt=\"1528484482.jpg\">"}

有什么方法可以解析“内容”响应,使其不会在 IE 中中断?

4

1 回答 1

1

(这是一个建议,而不是一个解决方案)分离表示层(js/html [how])和域层(php [what])。

领域层决定返回什么数据。表示层决定数据将如何呈现。

返回图片路径,让表现层决定如何向用户展示图片。


现在您的问题的解决方案将在文档类型的声明上。我想问题在于没有声明文档类型,而 IE 将 XHMTL 作为其默认文档类型。
在 XHTML 中,标签必须正确关闭。 http://www.w3schools.com/tags/tag_img.asp

我想其余的浏览器采用 HTML5,并且它不需要图像上的结束标记。

于 2012-11-05T16:22:21.010 回答