有没有人知道一种简单的方法可以在jQuery秒内从字符串中转义HTML?我需要能够传递任意字符串,并将其正确转义以在HTML页面中显示(防止JavaScript/HTML注入攻击).我相信可以扩展jQuery来实现这一点,但目前我对框架的了解还不够,无法实现这一点.

推荐答案

因为使用的是jQuery,所以只需设置元素的text属性:

// before:
// <div class="someClass">text</div>
var someHtmlString = "<script>alert('hi!');</script>";

// set a DIV's text:
$("div.someClass").text(someHtmlString);
// after: 
// <div class="someClass">&lt;script&gt;alert('hi!');&lt;/script&gt;</div>

// get the text in a string:
var escaped = $("<div>").text(someHtmlString).html();
// value: 
// &lt;script&gt;alert('hi!');&lt;/script&gt;

Javascript相关问答推荐

如何使用React渲染器放置根dis?

创建1:1比例元素,以另一个元素为中心

无法将nPM simplex-noise包导入在JS项目中工作

使用TMS Web Core中的HTML模板中的参数调用过程

有条件的悲剧

zoom svg以适应圆

Bootstrap动态选项卡在切换选项卡后保持活动状态,导致元素堆叠

Spring boot JSON解析错误:意外字符错误

在open shadow—root中匹配时,使用jQuery删除一个封闭的div类

使用NextJS+MongoDB+Prisma ORM获取无效请求正文,无法发布错误

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

为什么可选参数的顺序会导致问题?

回溯替代方式

如何在Press上重新启动EXPO-AV视频?

使用线性插值法旋转直线以查看鼠标会导致 skip

是否设置以JavaScript为背景的画布元素?

TabNavigator和StackNavigator之间的Reaction Native中的导航问题

将延迟加载的模块转换为Eager 加载的模块

我们是否可以在reactjs中创建多个同名的路由

在Press Reaction本机和EXPO av上播放单个文件