资讯专栏INFORMATION COLUMN

#react# 在页面中显示html代码块

luzhuqun / 1125人阅读

摘要:在页面中显示代码块在网上查了下,说有一下方法可以把代码直接在页面中输出。将字符实体转成使用场景后端将已经转义后的内容显示到页面比如收到后,前端进行,则可以直接操作,将标签显示到页面。

在页面中显示html代码块

在网上查了下,说有一下方法可以把html代码直接在页面中输出。

textarea 不让编辑 去边框 去滚动条

直接把代码用ps做成图片上传到网页

用转换符号

在jsx中前面3中都被实验失败,只有第四种成功了。


    <
    Button type="primary">Primary
    <
    /Button>

显示效果:

符号和转义符对照表

HTML字符实体 < >: &

在开发中遇到javascript从后台获取的url 会被转义,如:http://localhost:8080/Home/Index?a=14&b=15&c=123,想把它转成http://localhost:8080/Home/Index?a=14&b=15&c=123

解决方案:
转义分为escapeHTML和unescapeHTML,先看两个函数的实现。

/**
 * @function escapeHTML 转义html脚本 < > & " "
 * @param a -
 *            字符串
 */
escapeHTML: function(a){
    a = "" + a;
    return a.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/"/g, "'");;
},
/**
 * @function unescapeHTML 还原html脚本 < > & " "
 * @param a -
 *            字符串
 */
unescapeHTML: function(a){
    a = "" + a;
    return a.replace(//g, ">").replace(/&/g, "&").replace(/"/g, """).replace(/'/g, """);
},

escapeHTML将< > & " "转成字符实体

使用场景:
(1)用户在页面中录入(比如输入框) , js将该内容提交给后端保存
(2)显示时,后端将字符串返回前端;js接收到之后:

a, 使用escapeHTML,将字符串转为 此时,浏览器将能正确解析,因为浏览器接收到实体字符后,转成对应的尖括号等。
b, 不使用escapeHTML,浏览器一看到<,便认为是html标签的开始,直接把刚才的字符串当脚本执行了,这就是xss漏洞。

unescapeHTML将字符实体转成< > & " "

使用场景:
后端将已经转义后的内容显示到页面;比如
js收到后:
a,前端进行unescapeHTML,则可以直接dom操作,将标签显示到页面。
b,前端没有unescapeHTML,则原样输出,但此时并没有执行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110244.html

相关文章

  • React 可视化开发工具 shadow-widget 最佳实践(上)

    摘要:上例的功能块定义了如下节点树入口节点是面板,结合该节点的函数书写特点,我们接着介绍最佳实践如何处理功能块之内的编程。 本文介绍 React + Shadow Widget 应用于通用 GUI 开发的最佳实践,只聚焦于典型场景下最优开发方法。分上、下两篇讲解,上篇概述最佳实践,介绍功能块划分。 showImg(https://segmentfault.com/img/bVWu3d?w=6...

    techstay 评论0 收藏0
  • React.js 小书 Lesson27 - 实战分析:评论功能(六)

    摘要:所以我们给评论组件加上删除评论的功能,这样就可以删除不想要的评论了。输入这是代码块,这是正常内容。到目前为止,第二阶段的实战已经全部完成,你可以在这里找到完整的代码。下一节中我们将介绍小书高阶组件。 React.js 小书 Lesson27 - 实战分析:评论功能(六) 本文作者:胡子大哈本文原文:http://huziketang.com/books/react/lesson27 ...

    Freeman 评论0 收藏0
  • 前端面试题收集,持续更新

    摘要:对于所访问的每个元素,函数应该将该元素传递给所提供的回调函数。 HTML 在线阅读Github地址 题目列表 HTML HTML和XHTML的区别 Html的语义化 Doctype的文档类型 cookie、sessionSttorage、localStory区别 HTML全局属性(global attribute)有哪些? 常见的浏览器内核有哪些? 介绍一下你对浏览器内核的理解?...

    kgbook 评论0 收藏0
  • 前端面试题收集,持续更新

    摘要:对于所访问的每个元素,函数应该将该元素传递给所提供的回调函数。 HTML 在线阅读Github地址 题目列表 HTML HTML和XHTML的区别 Html的语义化 Doctype的文档类型 cookie、sessionSttorage、localStory区别 HTML全局属性(global attribute)有哪些? 常见的浏览器内核有哪些? 介绍一下你对浏览器内核的理解?...

    2json 评论0 收藏0
  • 前端面试题收集,持续更新

    摘要:对于所访问的每个元素,函数应该将该元素传递给所提供的回调函数。 HTML 在线阅读Github地址 题目列表 HTML HTML和XHTML的区别 Html的语义化 Doctype的文档类型 cookie、sessionSttorage、localStory区别 HTML全局属性(global attribute)有哪些? 常见的浏览器内核有哪些? 介绍一下你对浏览器内核的理解?...

    adam1q84 评论0 收藏0

发表评论

0条评论

luzhuqun

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<