首页 >web前端 >js教程 >如何在 JavaScript 中安全地解码 HTML 实体?

如何在 JavaScript 中安全地解码 HTML 实体?

Linda Hamilton
Linda Hamilton原创
2024-12-23 16:10:18459浏览

How to Safely Decode HTML Entities in JavaScript?

如何在 Javascript 中成功解码 HTML 实体

Javascript 经常与 XML-RPC 后端等外部源交互。这些后端可能返回包含 HTML 实体的字符串,例如 如何在 JavaScript 中安全地解码 HTML 实体?。当尝试使用 Javascript 将这些字符串合并到 HTML 中时,它们可能会按字面意思呈现或显示为未转义的 HTML 实体。

要有效地转义这些 HTML 实体,利用外部来源的技术可能会失败。相反,请利用现代浏览器支持的 DOMParser 方法。其实现方式如下:

function htmlDecode(input) {
  var doc = new DOMParser().parseFromString(input, "text/html");
  return doc.documentElement.textContent;
}

用法示例:

console.log(htmlDecode("<img src='myimage.jpg'>")); // "<img src='myimage.jpg'>"

console.log(htmlDecode("<img src='dummy' onerror='alert(/xss/)'>")); // ""

此方法成功解码 HTML 实体,同时防止恶意代码的执行。

以上是如何在 JavaScript 中安全地解码 HTML 实体?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn