- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
如何让 dangerouslySetInnerHTML 中的脚本得到执行?
class Page extends Component {
render() {
return (
<script
dangerouslySetInnerHTML={{ __html: `
console.log('hello world');
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'viewCart'
});
` }}
/>
);
}
}
我无法执行 console.log('hello world')
。有人可以帮忙吗?谢谢
最佳答案
由于 react-dom
创建它们的方式,脚本元素不会被执行。
当 ReactDOM.createElement
接收到一种类型的 'script'
时,它使用 .innerHTML
而不是使用 document.createElement
如您所料。
var div = document.createElement('div');
div.innerHTML = '<script></script>';
var element = div.removeChild(div.firstChild);
以这种方式创建脚本会将那个元素上的“parser-inserted”标志设置为 true。这个标志告诉浏览器它不应该执行。
https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML#Security_considerations
https://www.w3.org/TR/2008/WD-html5-20080610/dom.html#innerhtml0
关于javascript - React JS如何让dangerouslySetInnerHTML中的脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37803559/
我一直在尝试弄清楚如何将 dangerouslySetInnerHTML 应用于此组件内部的 label={item.description}: const SwitchList = ({ col
我使用 React 构建了一个存储文档的网络应用程序。这些是用 HTML 创建的,然后存储在数据库中。为了在应用程序中显示它们,我通过使用 dangerouslySetInnerHTML 将 HTML
我目前有一个像这样的 React 组件: Thông tin sản phẩm
我的页面需要本地化。我使用gettext。我的i18n.__函数返回翻译后的字符串并替换 %s带有提供参数的符号。 据我所知,我不能“危险地设置” JSX 元素,但是我需要插入开始和结束 标签。我无法
所以我在实现这个场景时遇到了问题: 我从后端服务器接收到一个 html 字符串,如下所示: Title1 Title 1Title2 Title 2 通常,只要使用 dangerouslySetIn
我正在尝试在文本区域内呈现表情符号,此时我被难住了。 https://jsfiddle.net/nvt7qjar/ 我看不到如何在文本区域内使用 dangerouslySetInnerHTML 的值,
我正在尝试在文本区域内呈现表情符号,此时我被难住了。 https://jsfiddle.net/nvt7qjar/ 我看不到如何在文本区域内使用 dangerouslySetInnerHTML 的值,
我的 HTML 内容来自 API(本例中为 Gatsby),所以我使用 dangerouslySetInnerHTML按照建议。问题是,它扰乱了我的样式,尤其是网格。我有一个这样的 html 标记:
有没有在 ReactJS 中滥用 dangerouslySetInnerHTML 的例子? 每次我查找此内容时,都只是有人挥手说“跨站点脚本”。 我看到 dangerouslySetInnerHTML
我有一些代码可以对一些文本进行正则表达式并将其包装在 中像这样: highlightQuery() { // will output the text response from the M
我环顾四周,找不到任何有关此的信息。我的问题是这个。当我有这样的 react 代码时: 和 this.props.description = "this is a test"; 通过 dangero
服务器返回如下内容: 内容 = Hello world :smile: NICE ! - 这是因为我们支持 Markdown 。 现在我有了一个解析器,可以用 :{text}: 解析所有内容变成
我正在构建一个正在渲染 Serverinput 的应用程序。 现在我想弄清楚如何显示纯 HTML。因为现在它只显示为 ....,它应该显示图像。 问题是,应该在哪里调用angerlySetInnerH
我使用 Axios 从服务获取数据。然后我从页面上的 Reducer 中取出它。我正在邀请我在一个函数中投入 Redux 的数据。我正在使用 DangerouslySetInnerHtml 解析字符串
我正在使用 dangerouslySetInnerHtml 将 mustache 模板中的 html 渲染到 React 中。我正在阅读 the security concerns这对我来说是新的。
我正在显示存储在数据库中的文本。数据来自 firebase 作为字符串(包括换行符)。为了使其显示为 HTML,我最初执行了以下操作: ') : ''}}> 效果很好。但是,还有一项附加功能。用户可以
所以我们通过 dangerouslySetInnerHTML 注入(inject) HTML 内容。关于将 onclick 事件处理程序附加到注入(inject)的 HTML 中的所有链接的好模式有什
我一直在研究 React 示例,并且一直在努力构建一些组件。现在我觉得我遇到了一个关于组件结构和嵌套的基本“脑放屁”。 我追求的是: 带有可选标签和帮助文本的输入组件。 我现在拥有的:(确实有效) 输
如何为包含 'hello world' 的 div 指定 className 属性: hello world'}} /> 一种方法是设置为外部 div,如下所示: hello world'}} cla
我有一个呈现此元素的 React 组件: 它工作正常,并且正在呈现 html。但是,我遇到的问题是我的客户端代码有 CSS,它正在进入我从 this.props.htmlString 呈现的组件中。
我是一名优秀的程序员,十分优秀!