如何让浏览器不在iframe中解析html?

时间:2012-07-22 13:17:03

标签: html iframe content-type

我有一个网页,我通过Ajax流式传输数据(使用readyState 3等)。这在大多数浏览器上都可以正常工作,但是在IE7-9上,即使readyState为3,我似乎无法读取到目前为止收到的文本(尽管我已经读过你可以在IE9中做到这一点但它只是不起作用时我试试..)。

相反,对于后备,我使用一个不可见的iframe来请求数据,然后我从那里读取数据 - 问题是数据,虽然它是JSON编码的,但也包含实际的HTML内部。我需要数据保持原样,但由于它在iframe中,HTML会被浏览器解析。

基本上,我想要的是浏览器不要解析该数据中的HTML。我最初认为这可以通过使用正确的内容类型轻松完成,但到目前为止它似乎不起作用(我尝试了application / octet-stream)。

我想我可以通过将整个数据放在评论中来解决这个问题,但我宁愿不这样做。 在这种情况下,阻止浏览器解析此HTML的最简单方法是什么?或者我只是使用了错误的内容类型?

谢谢。

2 个答案:

答案 0 :(得分:0)

使用< xmp>标签,标签告诉浏览器你的内容是CDDATA并忽略那里的所有HTML标签。

< xmp>< font color =“red”>< b>此处的数据< / b>< / font>< / xmp>

将打印:

< font color =“red”>< b>我的数据< / b>< / font>

答案 1 :(得分:0)

<xmp>标记已弃用,不再是标准的一部分。如果在你的情况下速度至关重要,<textarea>肯定是一个选择。第三种选择当然是对您的内容进行HTML编码,然后使用您正在使用的任何服务器技术将其发送到客户端,并在客户端上使用decode()来获取HTML。