问题标签 [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.

0 投票
1 回答
74 浏览

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')但我不能比这更进一步。谁能帮助我如何正确更新源属性。我也尝试过以下功能

0 投票
0 回答
442 浏览

reactjs - react-markdown 渲染 markdown 和 HTML 的混合,将得到警告空白文本节点不能作为子节点出现

我需要呈现混合了markdown和常规HTML的内容。内容是从服务器查询的,我无法确定表内是否有空格。例如内容原始数据:

因为react-markdown通常会转义 HTML,所以我需要使用rehype-raw来正确呈现 HTML。

对于上面的内容体,如果我只是dangerouslySetInnerHTML用来渲染它,除了不会渲染markdown格式之外,不会有错误。

但是,如果我使用react-markdownwith rehype-raw,虽然 HTML 和 markdown 都可以呈现,但我会在开发工具中收到警告

警告:validateDOMNesting(...):空白文本节点不能作为 . 确保源代码每一行的标签之间没有任何额外的空格。

所以我的问题是:

  1. 我知道这个警告是什么,但是为什么我在使用时没有收到此警告,但在我使用dangerouslySetInnerHTML时却出现了react-markdown
  2. 由于我无法控制来自服务器端的内容主体,有什么方法可以防止警告出现在开发工具上?

看起来您想要做的只是删除C并将A/设置B为索引:

输出:

注意。您可能想要对值进行排序,但如何排序尚不清楚。如果按升序排序D,则 NaT 应该是最后一个,而不是第一个

或者将所有内容都作为列:

0 投票
0 回答
164 浏览

reactjs - 我在 Reactjs 中使用危险的SetInnerHtml 为博客页面显示一些内容,但没有显示项目符号

我在 Reactjs 中使用危险的SetInnerHtml 为博客页面显示一些内容,但没有显示项目符号,但是在另一个项目中使用了相同的代码和页面,并且工作正常。无法解决这里的问题,我将附上代码。渲染很好,这里唯一的问题是它没有显示项目符号

  • 标签。可能是危险的SetInnerHTMl 的一些替代方法可以为我解决问题。

    这是我的内容的样子:

    这是我尝试显示的方式:

  • 0 投票
    0 回答
    66 浏览

    reactjs - 使用 dangerouslySetInnerHTML 解析 HTML 时如何忽略 img 标签?

    我正在制作一个带有反应的公告板。在这里,帖子列表实现为 CardView。其内容包括缩略图、标题和部分内容。将列表中内容对应的部分带入dangerlySetInnerHTML,甚至解析img标签。有没有办法忽略 img 标签?

    在此处输入图像描述

    内容如下。

    下面是代码。

    如何忽略图像标签?

    0 投票
    1 回答
    325 浏览

    reactjs - DangerouslySetInnerHTML 与 React.JS 中的本地图像

    在 react.js 中,下面的代码应该根据第 6 行提供给函数的数字显示本地图像一定次数。在实际程序中,该数字将根据从远程服务器获取的信息而改变,所以我不能只是硬编码它。

    第 22 行调用图像的次数是正确的,但它显示的是替代文本而不是实际照片。

    第 23 行完美地调用了图像。所以,我知道它被正确导入。

    如何让第 22 行显示图像而不仅仅是文本?

    0 投票
    0 回答
    26 浏览

    javascript - 在反应中使用危险的SetInnerHTML时是否可以使用图标?如何?

    这是我的代码。从material-ui使用。

    0 投票
    1 回答
    41 浏览

    javascript - 将函数解析为危险的setinnerhtml

    我目前遇到了危险的setinnerhtml 的问题。我试图让人们通过 js 文档在 react 中编辑部分,这些编辑以字符串的形式出现。例如,一个人可以将以下内容解析为 js 文件中的字符串:

    在我的代码中,我想将其显示为:

    div 看起来很好,但“onClick”功能不会触发。我已经看到使用 HTML Parser 的建议,但这不是一个选项,因为在这种情况下我被限制使用外部库。有人对这应该如何工作有任何建议吗?

    谢谢!

    0 投票
    1 回答
    54 浏览

    reactjs - className 在危险的SetInnerHTML 上不起作用

    最初 string是这样的:-

    My first name is @John# and last name is %Smith#.

    我将在哪里替换:-

    • @<span className="contentDescHighlighted">
    • %<span className="contentDescHighlighted content_bold">
    • #</span>

    工作代码如下: -

    更改后string,我将使用如下方式注入它们:-dangerouslySetInnerHTML

    不幸的是,应用的样式/类名根本没有任何效果,如下所示:-

    在此处输入图像描述

    完整的组件将如下所示
    0 投票
    0 回答
    89 浏览

    javascript - 在 react.js sharepoint webpart 中使用 dangerouslySetInnerHTML 呈现 HTMLCode 的任何安全问题

    我正在尝试构建一个 React.Js SharePoint 现代 Web 部件,它具有以下功能:-

    1. 在 Web 部件设置页面内 >> 有 2 个字段名为“我们是谁”和“我们的价值”,允许用户输入 HTML。

    2. Web 部件将呈现 2 个按钮“我们是谁”和“我们的价值”>>,当用户单击任何按钮 >> 将显示一个弹出窗口,其中包含在步骤 1 中输入的 HTML 代码

    如下:-

    在此处输入图像描述

    但是为了能够在我的 Web 部件中将 HTML 代码呈现为富文本,我必须使用dangerouslySetInnerHTML.tsx 文件中的属性,如下所示:-

    所以我的问题是;如果使用

    在 react.js sharepoint webpart 中呈现 HTMLCode 会带来任何安全问题吗?如果是这样,我可以消除这个安全问题吗?如果不是,那么我可以使用更安全的方法在弹出窗口中将 HTML 代码呈现为富文本吗?

    谢谢

    这是我的完整网络部件代码:-

    在 MyModalPopupWebPart.ts 中:-

    在 MyModalPopup.tsx 中:-

    0 投票
    1 回答
    124 浏览

    reactjs - 在 React 的危险设置的内部 html 中添加图标

    我试图在 div 标签工作时使用危险设置的内部 html 在字符串文本之间添加一个图标,但右箭头图标(来自材料 ui)不起作用。还注意到在呈现实际 html 时它会变成小写。

    这是我的代码之一,strPath 是“World->Americas->Latin America and the Caribbean”

    这就是我在开发工具中得到的 - >元素部分

    在此处输入图像描述

    实际价值的形象

    在此处输入图像描述

    我该怎么做才能把上面的实际值变成这个

    在此处输入图像描述