原问题:

在页面中,除了xmp,textarea以及js转义外,还有什么办法可以让html标签在不被浏览器解析而正常显示呢?

答:

要符合“内部的html标签不被解析”,我们根据HTML5的标准,分元素类别讨论吧:

  1. Void Elements,如br等。
    他们不允许有内部文本。
  2. Foreign Elements,如svgmathml的相关标签
    跟xml语法一致,他们内部文本若不想被当作标签解析,只有用<![CDATA[]]>包裹
  3. RCDATA elements:即textarea 和 title
    他们不能嵌套自身,内部的实体会被转义,内部的<不会被当作tag open解析。
    因此,他们内部的其他标签自然不会被解析。
  4. Raw text elements:即script 和 style
    他们不能嵌套自身,内部的实体不会被转义,内部的<不会被当作tag open解析。
    因此,他们内部的其他标签自然不会被解析。
  5. Normal elements,普通的元素,基本上上列没有提及的都属于这一列,包括precode
    他们的特点是,内部的实体会被转义,内部的<可能根据上下文,被当作tag open解析。
    他们内部的文本若想展示标签文本而不解析,必须先转义<&lt;>&gt;

如果目标是让HTML标签文本内容正常显示而不被解析,最简单的方案是嵌入到<script type="text/html"><script type="text/template">内部,并加上display: block即可。

HTML4旧有的有xmplistingplaintext类似于HTML5的Raw text elements,可以包含标签而不解析,内部实体不被转义,但是已经在HTML5中废弃。

文:https://segmentfault.com/q/1010000002516795

如何让浏览器不解析html?的更多相关文章

  1. iphone 浏览器自动解析数字为号码解决方法

    iphone 浏览器自动解析数字为号码解决方法 www.MyException.Cn  网友分享于:2015-10-09  浏览:0次   iphone 浏览器自动解析数字为号码解决办法 在工作中遇到 ...

  2. 解析好的静态页面.shtml浏览器无法解析.需要apache解析后再返回给浏览器

    解析好的静态页面.shtml浏览器无法解析.需要apache解析后再返回给浏览器 让Apache支持SHTML(SSI)的配置方法 http.conf放开addtype text/html .shtm ...

  3. 4.在浏览器中解析XML

    要在浏览器中解析获取XML数据,一般只需经过两个步骤:第一,将XML文档.XML字符串转化成XMLDoc对象.第二,使用JS操作XMLDoc对象. 3.1 将XML文档或XML字符串转化成XMLDoc ...

  4. 不阻塞浏览器的解析,待外部js下载完成后异步执行

    网站统计中的数据收集原理及实现(js埋点实现) - lastwhisper - CSDN博客 https://blog.csdn.net/l1212xiao/article/details/80450 ...

  5. 浏览器默认解析文档模式IE7

    背景:实习期间开发了一套页面,兼容到IE8+,可是在给产品体验时,他的QQ浏览器默认解析到了文档模式IE7,出现了页面的兼容性问题.问题排查:QQ浏览器目前有两个模式,极速模式和兼容模式,其中极速模式 ...

  6. 2017年05月10日记一次微项目投产 | 安卓版微信内置浏览器不能解析gzip压缩过的mp4视频的问题

    前言 今天投产了一个小项目,一个很简单的H5,有播放视频功能,使用了videojs插件. 之前也做过数个视频播放,视频的转压都按照既定流程进行,文件放到FTP后,iphone和安卓机测试下来都没有问题 ...

  7. 关于源码输出,浏览器不解析Html标签

    有时候根据需要我们需要看到浏览器上源码效果如: 但是我如果在html中输入 <a href = 'http://www.baidu.com'>百度</a>那么问题来了,总是显示 ...

  8. 解决下载ftp文件过程中,浏览器直接解析文件(txt,png等)的问题

    搭建了一个ftp服务器,供用户进行上传下载,在下载过程中发现,一些文件,例如txt,jpg,png,pdf等直接被浏览器解析了.在浏览器中显示其内容,没有下载. 下面通过网上查询得到一些解决方法: 最 ...

  9. 绝对好用的浏览器json解析网址

    你们是否经常在浏览器输入请求地址解析遇到中文乱码的情况,今天我找到了一个好用的浏览器解析json网址,绝对好用. 1.直接输入网址 http://pro.jsonlint.com/ 2.输入要解析的j ...

随机推荐

  1. bash 替换特殊字符

    bash 替换特殊字符 PID=`netstat -tpln|grep `;PID=${PID#*LISTEN};PID=`echo $PID | sed -s "s/\/java//g&q ...

  2. vs实现数据库数据迁移

    public ActionResult About() { List<ChangeData.Models.old.adsinfo> adsinfo_new = new List<Mo ...

  3. [转载] 关于出现“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误的可能原因

    1. 对于该问题确实存在UNION前后SELECT语句中的列数不同导致:2. 以下为个人遇到的一种可能:在项目开发中由于有张表是动态的,即有个基础表,其他的表按年月根据基础表来生成动态表,动态表结构和 ...

  4. Caterpillar sis service information training and software

    Cat et sis caterpillar heavy duty truck diagnostics repair. Training demonstration allows.cat electr ...

  5. java课上测试心得

    放暑假之前,建民老师就给我们布置了每一天学习两小时的代码,但是自己的不重视,根本就没有达到这个要求,简单学了一点点基本的东西,然后在开学的第一堂课上,连续三个小时的敲代码,让我意识到了自己的问题,一个 ...

  6. Java常用API、Math类介绍

    一.API的概述 API——Application Programing Interface:应用程序编程接口,是java提供的一些预定义的函数: 目的:基于API实现程序的快速编写,只需了解其作用, ...

  7. JavaScript 中禁止用户右键菜单,复制,选取,Ctrl,Alt,Shift. 获取宽高,清除浮动

    //禁用右键菜单 document.oncontextmenu = function(){ event.returnValue = false; } //禁用选取内容 document.onselec ...

  8. JVM结构及堆的划分

    一.JVM结构 1.类加载子系统与方法区 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行时常量池信息,包括 ...

  9. Linux 安装本地 yum源

    放入Centos6.4的镜像光盘或找到镜像文件 [root]#mount /dev/cdrom  /media/cdrom  #挂载本地镜像 [root]#rm -rf /etc/yum.repo.d ...

  10. mycat->oracle报java.sql.SQLException: 无法从套接字读取更多的数据

    今天下午,测试环境清算的时候又出现了之前的一个异常,这次把错误信息全部打出来了,java.sql.SQLException: 无法从套接字读取更多的数据,是使用mycat连接oracle的,如下所示: ...