1

我在我的网站中使用 WYSIWYG 编辑器(称为“Jodit”)。它具有能够添加 html 代码的功能。如果我添加一些 html 样式代码以及“!important”,我可以修改整个网站的 CSS。

例如,转到https://xdsoft.net/jodit/play.html?currentTab=State

单击“更改模式”图标“”

粘贴

<html>
<style>
    * {
        color:red !important;
    }
</style>
</html>

整个网站的文字变红。

如何阻止所见即所得编辑器修改其文本区域之外的代码?

4

1 回答 1

1

最直接的方法是使选择器更具体,使其仅针对所见即所得区域内的内容,例如

.jodit_workplace > * {
    color: red !important;
}

如果来自 WYSIWYG 编辑器的内容不受您的控制(例如,如果用户可以编辑和发布它)并且因此您不能为选择器添加前缀,您可以使用 iframe 或shadow dom将其与其余部分完全隔离你的页面。

于 2019-12-03T15:44:34.323 回答