问题标签 [dangerouslysetinnerhtml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 在 React 中更改具有危险设置的 innerhtml 父属性的孩子的图像源属性
我有一个前端应用程序,它使用 react 并使用来自 Strapi 后端的 API 调用来获取数据。我在 Strapi 后端为用户提供了一个富文本字段,用户还可以在其中上传图像以及数据,如
Strapi Backend所示。
在反应方面,我在 axios 的帮助下使用 API 调用获取数据并显示数据,如代码所示
这是数据变量将包含的示例。
如您所见,描述字段包含 HTML 标记以及图像标记。所以我在前端所做的反应是显示这些数据是
现在的问题是图像没有出现,因为它的来源不完全正确。
它的正确来源是在开发环境“http://localhost:1337/”+来自strapi的源
或生产环境process.env.React_BACKEND_URL+来自strapi的源
我已经包含了用于更改图像来源的Jquery,
$("#description").find('img').attr('src')
但我不能比这更进一步。谁能帮助我如何正确更新源属性。我也尝试过以下功能
reactjs - react-markdown 渲染 markdown 和 HTML 的混合,将得到警告空白文本节点不能作为子节点出现我需要呈现混合了markdown和常规HTML的内容。内容是从服务器查询的,我无法确定表内是否有空格。例如内容原始数据:
# [React](https://reactjs.org/)<br>React is a JavaScript librar
我需要呈现混合了markdown和常规HTML的内容。内容是从服务器查询的,我无法确定表内是否有空格。例如内容原始数据:
因为react-markdown
通常会转义 HTML,所以我需要使用rehype-raw来正确呈现 HTML。
对于上面的内容体,如果我只是dangerouslySetInnerHTML
用来渲染它,除了不会渲染markdown格式之外,不会有错误。
但是,如果我使用react-markdown
with rehype-raw
,虽然 HTML 和 markdown 都可以呈现,但我会在开发工具中收到警告
警告:validateDOMNesting(...):空白文本节点不能作为 . 确保源代码每一行的标签之间没有任何额外的空格。
所以我的问题是:
- 我知道这个警告是什么,但是为什么我在使用时没有收到此警告,但在我使用
dangerouslySetInnerHTML
时却出现了react-markdown
- 由于我无法控制来自服务器端的内容主体,有什么方法可以防止警告出现在开发工具上?
看起来您想要做的只是删除C
并将A
/设置B
为索引:
输出:
注意。您可能想要对值进行排序,但如何排序尚不清楚。如果按升序排序D
,则 NaT 应该是最后一个,而不是第一个
或者将所有内容都作为列:
我需要呈现混合了markdown和常规HTML的内容。内容是从服务器查询的,我无法确定表内是否有空格。例如内容原始数据:
# [React](https://reactjs.org/)<br>React is a JavaScript librar
我需要呈现混合了markdown和常规HTML的内容。内容是从服务器查询的,我无法确定表内是否有空格。例如内容原始数据:
因为react-markdown
通常会转义 HTML,所以我需要使用rehype-raw来正确呈现 HTML。
对于上面的内容体,如果我只是dangerouslySetInnerHTML
用来渲染它,除了不会渲染markdown格式之外,不会有错误。
但是,如果我使用react-markdown
with rehype-raw
,虽然 HTML 和 markdown 都可以呈现,但我会在开发工具中收到警告
警告:validateDOMNesting(...):空白文本节点不能作为 . 确保源代码每一行的标签之间没有任何额外的空格。
所以我的问题是:
- 我知道这个警告是什么,但是为什么我在使用时没有收到此警告,但在我使用
dangerouslySetInnerHTML
时却出现了react-markdown
- 由于我无法控制来自服务器端的内容主体,有什么方法可以防止警告出现在开发工具上?
看起来您想要做的只是删除C
并将A
/设置B
为索引:
输出:
注意。您可能想要对值进行排序,但如何排序尚不清楚。如果按升序排序D
,则 NaT 应该是最后一个,而不是第一个
或者将所有内容都作为列:
reactjs - 我在 Reactjs 中使用危险的SetInnerHtml 为博客页面显示一些内容,但没有显示项目符号
我在 Reactjs 中使用危险的SetInnerHtml 为博客页面显示一些内容,但没有显示项目符号,但是在另一个项目中使用了相同的代码和页面,并且工作正常。无法解决这里的问题,我将附上代码。渲染很好,这里唯一的问题是它没有显示项目符号
这是我的内容的样子:
这是我尝试显示的方式:
reactjs - DangerouslySetInnerHTML 与 React.JS 中的本地图像
在 react.js 中,下面的代码应该根据第 6 行提供给函数的数字显示本地图像一定次数。在实际程序中,该数字将根据从远程服务器获取的信息而改变,所以我不能只是硬编码它。
第 22 行调用图像的次数是正确的,但它显示的是替代文本而不是实际照片。
第 23 行完美地调用了图像。所以,我知道它被正确导入。
如何让第 22 行显示图像而不仅仅是文本?
javascript - 在反应中使用危险的SetInnerHTML时是否可以使用图标?如何?
这是我的代码。从material-ui使用。
javascript - 将函数解析为危险的setinnerhtml
我目前遇到了危险的setinnerhtml 的问题。我试图让人们通过 js 文档在 react 中编辑部分,这些编辑以字符串的形式出现。例如,一个人可以将以下内容解析为 js 文件中的字符串:
在我的代码中,我想将其显示为:
div 看起来很好,但“onClick”功能不会触发。我已经看到使用 HTML Parser 的建议,但这不是一个选项,因为在这种情况下我被限制使用外部库。有人对这应该如何工作有任何建议吗?
谢谢!
javascript - 在 react.js sharepoint webpart 中使用 dangerouslySetInnerHTML 呈现 HTMLCode 的任何安全问题
我正在尝试构建一个 React.Js SharePoint 现代 Web 部件,它具有以下功能:-
在 Web 部件设置页面内 >> 有 2 个字段名为“我们是谁”和“我们的价值”,允许用户输入 HTML。
Web 部件将呈现 2 个按钮“我们是谁”和“我们的价值”>>,当用户单击任何按钮 >> 将显示一个弹出窗口,其中包含在步骤 1 中输入的 HTML 代码
如下:-
但是为了能够在我的 Web 部件中将 HTML 代码呈现为富文本,我必须使用dangerouslySetInnerHTML
.tsx 文件中的属性,如下所示:-
所以我的问题是;如果使用
在 react.js sharepoint webpart 中呈现 HTMLCode 会带来任何安全问题吗?如果是这样,我可以消除这个安全问题吗?如果不是,那么我可以使用更安全的方法在弹出窗口中将 HTML 代码呈现为富文本吗?
谢谢
这是我的完整网络部件代码:-
在 MyModalPopupWebPart.ts 中:-
在 MyModalPopup.tsx 中:-