如何让我们的所见即所得编辑器停止删除HTML注释、CSS类和内联样式



我们目前使用wysihtml5 rails让我们的用户在发送电子邮件之前编辑电子邮件,但由于一些原因,这并不太好。

我需要评论,以允许像这样的Outlook特定评论。当前正在删除所有评论。

我还需要CSS类保持原样,因为编辑器内容将是一封预先生成的电子邮件,其中包括CSS类。我们的编辑器将只保留白名单中的类,但这很烦人,因为我们需要随着每次更改更新该列表。

内联样式也是如此。生成的电子邮件中的某些样式是内联的,而不是类中的。这些需要保留,但它们正在被移除。

有什么办法可以让我们的编辑这样工作吗?

我找到了一个解决方案,但很难。

我意识到原始HTML存储在页面上的一个隐藏的textarea标记中。有趣的是,我需要的所有元素(CSS类、注释(仍然存在。但在提交表单时,该文本区域的值被编辑器中的解析结果所替换,该结果将被发送到服务器。所有的评论和类都从这篇文章中消失了。

然后,解决方案是创建第二个字段,该字段从所见即所得编辑器中获取未解析的值并将其发送出去。在rails中很容易,但只需将这个新字段作为表单的一部分。然后控制器就可以选择要取的值。在我的案例中,我将现有的消息字段重命名为parsed_message。然后添加了一个新的消息字段,该字段将保存未解析的消息。

我们正在使用的所见即所得编辑器通过有一个可以随时调用的方法来实现这一点:window.email_editor.getValue()。这里的email_editor是由页面上的javascript实例化的编辑器。

最新更新