【发布时间】:2026-01-09 15:40:04
【问题描述】:
让我们抛开在 Web 编辑器中允许 <script> 内容的问题;我完全了解他们。
我想要的是在文本内容中允许 <style> 和 <script> 元素,问题是,每当我这样做时,TinyMCE 会将它们更改为:
<style><!-- th{width:80px} --></style>
并且脚本内容改为:
<script>// <![CDATA[
$.address.unbind();
// ]]></script>
在我的 TinyMCE 初始化配置中,我有:
valid_elements : "*[*]",
extended_valid_elements : "*[*],script[charset|defer|language|src|type],style",
custom_elements: "*[*],script[charset|defer|language|src|type],style",
valid_children : "+body[style],+body[script]",
verify_html : false,
media_strict: false
但我似乎找不到阻止 TinyMCE禁用<style> 和 <script> 元素的方法。
【问题讨论】:
-
你有没有发现如何从 tinyMCE 中的样式标签中删除 ?
-
从我正在阅读的内容看来,TinyMCE 生成 XHTML 并将样式内容包装在注释中,以防止任何 XML 解析器无法解析内容(因为所有浏览器都支持注释语法)。编辑:您是否尝试过使用
cleanup : false? -
@BenRacicot 为什么要从样式标签中删除 ?
-
我在 WordPress 中包含的 TinyMCE 中遇到了同样的问题。尽管我能够编写一个 PHP 函数来排除某些标签被编辑器剥离(类似于您在此处所拥有的),但我发现注释代码始终存在。我不知道如何摆脱它。但我想我知道它为什么在那里。我相信这是为了防止标签中的代码被包裹在段落标签中,就像 TinyMCE 默认情况下对每个换行符所做的那样。所以我把注释代码留在了那里,因为我的脚本在前端仍然可以正常工作。
-
@naimshaikh 嘿 Naim,我没有尝试过,因为您没有指定它是否有效。我不愿意删除缩小的脚本,但会在星期一尝试。
标签: javascript html css tinymce