javascript - 通过在 tinymce 中显示来剥离 <![if !mso]>

标签 javascript html tinymce tinymce-4

目前我使用的是 tinymce 的一个非常旧的版本 (2.8)现在我正在尝试将其升级到最新版本 (4)。在那个过程中我遇到了一些麻烦,主要的是显示 <![if !mso]>在隐藏在旧版本中的 html 查看器中,

我将此编辑器用作我的邮件编辑器,所以基本上我是将响应式 html 邮件文本加载到编辑器中。但它显示<![if !mso]>这段代码遍及 html 查看器,尚未解释为注释。

enter image description here

我使用的代码,(根据 example )

tinymce.init({
  selector: 'textarea',
  height: 500,
  theme: 'modern',
  plugins: [
    'advlist autolink lists link image charmap print preview hr anchor pagebreak',
    'searchreplace wordcount visualblocks visualchars code fullscreen',
    'insertdatetime media nonbreaking save table contextmenu directionality',
    'emoticons template paste textcolor colorpicker textpattern imagetools codesample'
  ],
  toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
  toolbar2: 'print preview media | forecolor backcolor emoticons | codesample',
  image_advtab: true,
  relative_urls : false
 });

任何人都知道我应该如何隐藏这个 <![if !mso]>来自 HTML 查看器的代码。请注意,这些注释非常重要,所以我不想在加载到编辑器之前将它们从 html 代码中删除。我只需要隐藏它们。

最佳答案

这里的核心问题是 <![if !mso]>不是有效的 HTML 标记,因此 TinyMCE(作为 HTML 编辑器)将其视为文本。您可以使用 protect 教 TinyMCE 保护编辑器中的某些文本。 TinyMCE 配置中的选项:

https://www.tinymce.com/docs/configure/content-filtering/#protect

例如你可以这样做:

tinymce.init({
    selector: textarea,
    protect: [
      /\<!\[if !mso\]\>/g,   // Protect <![if !mso]>
      /\<!\[if !vml\]\>/g,   // Protect <![if !vml]>
      /\<!\[endif\]\>/g,     // Protect <![endif]>
      /<\?php[\s\S]*?\?>/g   // Protect <?php ?> code
    ]
});

请注意,MS Office 文档中包含大量这些非标准标记标签,因此要捕获所有这些标记,您可能需要在 protect 中添加其他项目。配置选项。

关于javascript - 通过在 tinymce 中显示来剥离 &lt;![if !mso]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40234340/

相关文章:

javascript - 如何使我所有的 onclick 事件在 ios 浏览器中可点击?

html - 如何在 html 中留下 50dp 的空白区域?

javascript - 只有在页面顶部时才使导航栏透明,然后在滚动时使导航栏成为纯背景

javascript - TinyMCE - 外部工具栏位置

php - 如何使wp_editor以可视模式启动

javascript - 在 tinymce 中将内联 css 添加到正文

javascript - 如何处理依赖于多个其他异步函数的异步函数

javascript - iframe获取可见大小

javascript - 使用变量访问 JS 对象

javascript - Angular 谷歌地图中标记信息显示的错误