首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用javaScript打印HTML中的特定字符串

无法使用javaScript打印HTML中的特定字符串
EN

Stack Overflow用户
提问于 2018-08-25 03:57:07
回答 4查看 441关注 0票数 0

我正面临着使用javaScript将此字符串呈现为html的困难

代码语言:javascript
复制
"<img onerror='window.document.body.innerHTML = \"<h1>XSS</h1>\";' src=''> "

当我尝试使用JavaScript将其呈现为HTML元素时,我得到的唯一输出是普通页面上的XSS

请建议一种方法,我可以把它变成html作为纯文本。

EN

回答 4

Stack Overflow用户

发布于 2018-08-25 03:59:31

尝试使用Node.textContent而不是Node.innerHTML:

代码语言:javascript
复制
"<img onerror='window.document.body.textContent = \"<h1>XSS</h1>\";' src=''> "

https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent#Differences_from_innerHTML

票数 0
EN

Stack Overflow用户

发布于 2018-08-25 04:11:19

如果您希望将整个html代码显示为文本,则使用innerTexttextContent,因为它们不会尝试呈现html代码。

代码语言:javascript
复制
//using template literals ` (backtick) to help not need escaping quotes
document.body.innerText = `<img onerror="window.document.body.innerHTML ='<h1>XSS</h1>';" src=''>`

否则,如果希望<h1>部件显示为文本,则在内联js代码上使用相同的innerText / textContent

代码语言:javascript
复制
<img onerror="window.document.body.innerText ='<h1>XSS</h1>';" src=''>
票数 0
EN

Stack Overflow用户

发布于 2018-08-25 04:13:38

如果您想跳过render中的html代码,请使用element.innerText

代码语言:javascript
复制
document.getElementById("test").innerText = "<h1>XSS</h1>";
代码语言:javascript
复制
<div id="test">test</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52010950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档