TinyMCE正在移除<style>标签

52
我在使用 TinyMCE 编辑器时遇到了问题。当我在 HTML 编辑器中输入样式标签时,单击更新后它会将这些标签删除。
<style type="text/css"> 
     .newclasss { color:#c9c9c9; } 
</style>

我的有效元素如下:

<script type="text/javascript">

var valid_elms = "hr[class|width|size|noshade]";
valid_elms    += "span[class|align|style],";
valid_elms    += "font[face|size|color|style],";
valid_elms    += "img[href|src|name|title|onclick|align|alt|title|";
valid_elms    += "width|height|vspace|hspace],";
valid_elms    += "iframe[id|class|width|size|noshade|src|height|";
valid_elms    += "frameborder|border|marginwidth|marginheight|";
valid_elms    += "target|scrolling|allowtransparency],style";

extended_valid_elements: valid_elms
</script>

有人可以帮忙吗??


@ManuelArwedSchmidt 不在我们这里做这件事(上次出现是在2010年6月14日) - naXa stands with Ukraine
5个回答

78

由于样式标签不是有效的XHTML,TinyMCE禁用了在<head>标签之外添加它们的功能。

您需要将样式标签添加到有效子元素配置中。

valid_children : "+body[style]"

编辑:此解决方案适用于版本3.4.2

来源


3
仍然无法正常工作,tinymce仍会删除样式标签(tinymce 3.5.6)。 - Taha Jahangir
我不清楚需要在哪里更改设置,我阅读了TinyMCE文档但没有找到。 - Vishal Khialani
@VishalKhialani 无论您在何处启动tinymce,我建议您在这里阅读:http://www.tinymce.com/wiki.php/Installation - Yaz
1
这在TinyMCE 4.0中也失败了。 - EricP
4
我能用4.1.7版本,也可以尝试启用“script”标签和以下代码: - dmcontador
显示剩余6条评论

7
"hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style],img[href|src|name|title|onclick|align|alt|title|width|height|vspace|hspace],iframe[id|class|width|size|noshade|src|height|frameborder|border|marginwidth|marginheight|target|scrolling|allowtransparency],style[type]"

让我知道那对你来说是怎样工作的。

UmbracoCMS 6.1.6,valid_children 没有起作用,但这个可以。非常感谢。不知道为什么 style[*] 不起作用。 - Dima Stefantsov

4

如果您将tinyMCE切换到全页面模式,您可以将样式放在<head>标签中。

<script type="text/javascript">
tinyMCE.init({
        plugins : "fullpage",
});
</script>

但是那样会添加 doctype 标签。 - Michal - wereda-net

1

虽然有点hacky,但我正在使用TinyMCE 4,并且在紧急情况下,所以我在TinyMCE编辑器的源代码视图中添加了一个<script>标签,并使用jQuery更改样式

<script>$("#signup").css("font-weight", "bold");</script>

假设TinyMCE已设置为不禁用脚本标签,并且您的页面已经包含了jQuery(就像我的一样),如果没有,您可以使用标准的javascript更改样式

0

对我来说,在 TinyMCE 4.5.7 中,我需要做以下操作:

tinyMCE.schema.addValidChildren("body[style]")

1
这只部分起作用了。我的样式元素被发射为 <style><!-- .rule { .. } --></style>。 - JJS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接