个人随笔
目录
超级有用的一个作废标签<xmp>
2019-04-28 22:36:00

标签之间的内容不会被当作文档内容解析,而会被用等宽字体直接呈现。从HTML3.2开始反对使用本元素,同时它不再会在之后版本内被推荐使用。在HTML5规范内,本元素已经完全被移除。但是,基本上所有的浏览器都对该标签支持。也多亏了这个,我才可以解决问题。

起初,我是页面异步加载显示内容,然后内容都直接innerText,所以页面不会解析js标签,然后我这边要变成同步加载,也就是不用js后台返回数据后直接显示,然后发现会直接解析标签,随便输入<script>alert(1)</script>,页面就会显示1.
此时当然相到先转义,但是因为我是小程序也显示,并且markdown编辑器好像直接输入标签不会转义,要规范化的用代码块,总之,因为各种原因没有转义,怎么办呢?

然后,我就想用如下代码解决,也就是显示的时候直接用js显示

  1. <script>
  2. var str="<script>alert(1)</script>";
  3. document.write(zhuanyi(str));
  4. </script>

zhuanyi()的意思是直接用innerText方法显示,然而发现这代码直接报错了,var str这里就解析不通过,语法不规范。

最后
,发现了一个作废的<xmp>标签,该标签可以直接显示内容,不会被浏览器解析,完美,然后加上如下样式,就跟一以前的样式一模一样啦

  1. xmp{
  2. font-family: generic-font;
  3. white-space: normal;
  4. }

第一个是等宽,第二是是换行,否则会只显示一行,感谢!感谢!

 652

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2